2017-08-29 1576 views
3

我尝试运行我的JAVA应用程序JVM参数Eclipse。 我注意到一个“-noverify”每次在参数的末尾附加字符串,这使得它们无法使用,因为我需要它作为我的配置文件的补丁。 (和节目说: “/home/user/config.properties-noverify” 不存在。)为什么-noverify在JVM参数末尾添加

的参数是:

-Djava.security.egd=file:/dev/./urandom -Dspring.config.location="/home/sige/guezbin/application.properties" -DconfigPath="/home/sige/eclipse-workspace/ImgCompr/config-default.properties" 

我在Ubuntu下开发。使用Eclipse版本4.8。

我谷歌搜索了很多,但我没有找到任何答案。

有人可以解释我这是什么,如何以正确的方式使用它?

回答

4

JVM检查它将要加载的编译类的字节代码,看它是否运行正常。这是执行不受信任代码的重要步骤。

不幸的是,这需要时间,对于像Eclipse这样的非常大的应用程序来说,这可能会增加启动时间。 “-noverify”标志将其关闭。

这听起来像是你需要在自己的字符串后面有一个空格,所以“-noverify”标志不是连接的。如果你不能这样做,那么就像“-Dignore”一样变成-Dignore-noverify,然后你的代码应该可以工作。

+0

谢谢!我做了一个解决方法,把字符串放在一个变量中然后分割它。 – SiGe

+0

感谢您的回答。 –

+0

我试图运行一个单元测试,每次失败时都会出现“java.lang.VerifyError:期望分支目标为19的堆栈映射帧”,然后跟着一堆字节码。一旦我在JUnit调试配置的VM参数中添加-noverify,单元测试就会运行。感谢你的回答! – Janet