很长一段时间之后,终于可以在这种环境下,使用VS 2017的开发人员命令提示符,通过命令行使用Graal native创建一个简单的“ HelloWorld”:
我无法使其与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>
错误:在项目demo01上无法执行目标org.graalvm.nativeimage:native-image-maven-plugin:19.3.2:native-image(默认)(默认):在Java 11+上构建图像没有本机映像,则需要MAVEN_OPTS ='-add-exports = java.base / jdk.internal.module = ALL-UNNAMED'-> [帮助1] [错误]
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
有什么主意吗?谢谢!
答案 0 :(得分:1)
我遇到了同样的错误,没有解决方法。似乎它比Windows插件问题更多。 我放弃并准备了ubuntu VM,在与Windows(pom.xml,java11,graalvm 20.0.0)完全相同的条件下运行本机映像,并且可以正常工作。
因此,我要么等待下一个插件发布,要么尝试使用Linux。不要期望在这里有快速的建议。