После долгого, наконец, я смог создать простой "HelloWorld" с встроенным Graal через командную строку, используя командную строку разработчика для VS 2017 в этой среде:
- Грааль ВМ: graalvm-ce-java11-19.3.2
- Windows SDK: Windows SDK 10.
Я не могу заставить его работать с другими версиями graal (graalvm-ce-java11-20.2.0-dev, graalvm-ce-java8-20.2.0-dev..), Возможно, для особенности локальной среды разработки (невозможность использования Windows 7 SDK, например ...)
Мои следующие цели - создать простые исполняемые файлы, но с более сложной зависимостью, например. следующий пример vertx
https://how-to.vertx.io/graal-native-image-howto/
В идеале я намерен создать его с помощью плагина maven. Если это невозможно, в качестве альтернативы создайте толстую банку с последующим преобразованием ее в родную
1. Использование native-image-maven-plugin
<groupId>org.graalvm.nativeimage</groupId>
<artifactId>native-image-maven-plugin</artifactId>
<version>19.3.2</version>
Ошибка: не удалось выполнить цель org.graalvm.nativeimage: native-image-maven-plugin: 19.3.2: native-image (по умолчанию) в проекте demo01GraalTestClasses: создание образа на Java 11+ без native- для изображения требуется MAVEN_OPTS = '- add-exports = java.base / jdk.internal.module = ALL-UNNAMED' -> [Help 1] [ERROR]
2. С помощью командной строки после создания толстой банки
openjdk version "11.0.7" 2020-04-14
OpenJDK Runtime Environment GraalVM CE 19.3.2 (build 11.0.7+10-jvmci-19.3-b10)
OpenJDK 64-Bit Server VM GraalVM CE 19.3.2 (build 11.0.7+10-jvmci-19.3-b10, mixed mode, sharing)
[ **Important** ] call vcvars64.bat !
**native-image.cmd --verbose --static --no-fallback -H:+ReportExceptionStackTraces -jar demoGraalTestClasses.jar demo**
**Error**:
[demo:4920] classlist: 3,964.94 ms
[demo:4920] (cap): 38,810.44 ms
[demo:4920] setup: 41,140.72 ms
[demo:4920] analysis: 18,151.19 ms
Fatal error: com.oracle.svm.core.util.VMError$HostedError: class java.net.TwoStacksPlainSocketImpl not found
Есть идеи ??? Спасибо!