Junit启动报错Could not create the Java Virtual Machine

记录一下在实际应用中遇到的一个超级坑的错误。

背景

在使用Junit + mockito做单元测试的时候,运行单元测试报错:

Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
Unrecoginzed option: --add-opens.

在网上查了各种资料。但是没有特别符合的错误,大部分的回答是修改分配的jvm内存。但试过了之后还是没能够解决我的问题。

然后就回到了项目本身,报错提示不能识别的选项:--add-opens,是否是本身项目配置了jvm启动参数的原因?于是我顺着这个思路往下进行。果然在项目的pom文件中找到了一处配置

<build>
    <plugins>
    	<plugin>
            <artifactId>xxx</artifactId>
            <version>xxx</version>
            <configuration>
            	<argLine>--add-opens xxx</argLine>
            </configuration>
        </plugin>
    </plugins>
</build>

和单元测试启动时控制台打印的参数一致。会不会把这里改了就行了?

当我把这个配置注释掉,重新编译启动时发现还是没有用。这下没招了。

解决方式

这下一点思路都没有了。于是我去看项目配置,在里面找到了一项:

在之前百度的时候有几篇文章说把argLine选项勾上,当时我默认就是选中的就没管,这下看到这个配置项,它会不会就是启动参数的配置呢?抱着试试的心态把它取消勾选,然后重新启动单元测试。过了

总结

这个问题确实有点超出了我的能力范围。好在运气比较好。还要继续努力啊😄


持续更新~

posted @ 2021-07-21 17:32  杨欢喜e  阅读(880)  评论(0)    收藏  举报