首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >UseSplitVerifier Java 7到Java 9

UseSplitVerifier Java 7到Java 9
EN

Stack Overflow用户
提问于 2017-11-02 21:18:17
回答 1查看 4.6K关注 0票数 4

我们正在将现有的应用程序从Java 7转换为Java 9,为了满足最低要求,我在这里尝试遵循这个页面:https://cwiki.apache.org/confluence/display/MAVEN/Java+9+-+Jigsaw

当我尝试在我们的一些组件上运行mvn干净安装时,我一直得到:

代码语言:javascript
运行
复制
Caused by: org.apache.maven.surefire.booter.SurefireBooterForkException: The forked VM terminated without properly saying goodbye. VM crash or System.exit called?
Command was cmd.exe /X /C ""C:\Program Files\Java\jdk-9.0.1\bin\java" --add-modules java.se.ee -XX:-UseSplitVerifier -jar

当我尝试谷歌UseSplitVerifier时,我总是看到关于StackMapTable或UseSplitVerifier是否安全使用的东西。但是我真的不知道UseSplitVerifier是什么,以及从J7 -> J9构建正确的方法是什么。

编辑

我的pom.xml有一个插件:

代码语言:javascript
运行
复制
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>2.20.1</version>

看一下https://cwiki.apache.org/confluence/display/MAVEN/Java+9+-+Jigsaw链接,它说最低限度是使用2.20.1,所以我认为这样可以吗?当我搜索我的项目时,我没有看到任何UseSplitVerifier参数被传递,所以我不确定什么是使用该命令,除了尽力而为的插件。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-11-03 04:08:08

您的失败日志开始调查的可能原因是,

代码语言:javascript
运行
复制
-XX:-UseSplitVerifier

它似乎是不赞成使用Java8本身,在Java9 [来源- JVM选项的完整列表 ]中不再支持。

理想情况下,您应该在迁移时去掉这个标记,因为您在编译或执行类到Java9(Java9)的53版本时不需要这个标记。

编辑:在通过junit执行测试时,在2.20.1版本的surefire中报告了一个内存泄漏。您可能仍然希望使用2.19.1,它仍然可以很好地处理Java9模块。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47084821

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档