64位服务器虚拟机警告:JDK 13中已废弃-Xverify:none和-noverify选项。从环境变量中安全删除-Xverify:none?

4
当我运行任何程序时,会出现以下消息。
Picked up _JAVA_OPTIONS: -Xverify:none
Java HotSpot(TM) 64-Bit Server VM warning: Options -Xverify:none and -noverify were deprecated in JDK 13 and will likely be removed in a future release.

许多相关的问题都指向了“编辑自定义VM选项”,但这并不适用于我。

最终我发现Java运行时在我的环境变量中找到了这个设置,其中变量_JAVA_OPTIONS为“-Xverify:none”。

我几乎可以确定我没有添加过这个变量,那么它可能以其他方式在环境变量中创建吗?在没有后果的情况下,可以从环境变量中删除它吗?

1个回答

3
如果您不需要运行任何需要禁用启动验证的应用程序(这并不推荐,因为该验证可以保护用户免受恶意代码的侵害),则删除它应该是安全的。
-Xverify和-noverfiy选项已经过时,并且似乎在未来的版本中将被移除,以保护用户免受运行恶意代码的风险(如发布说明所述:https://www.oracle.com/technetwork/java/javase/13all-relnotes-5461743.html和链接页面中他们的错误跟踪系统https://bugs.java.com/bugdatabase/view_bug.do?bug_id=JDK-8214719)。在这些发布说明中,他们提到 AppCDS 作为一种替代方案,供需要在没有启动验证的情况下运行代码的用户使用。

1
为什么这个会出现在我的环境变量中?如果我没有添加它。 - Suede
1
大多数情况下,安装程序会操作环境变量以使某些功能正常工作。但_JAVA_OPTIONS通常不应由外部程序编辑,因为它们可能会影响每个JavaVirtualMachine的启动选项。 - LarsenR
谢谢。我删除了环境变量,不再收到错误消息。所以,这可能是我在某个时候意外创建的东西?什么时候禁用启动验证会更有优势? - Suede
3
如果您正在使用Intellij Idea运行Spring Boot,请检查您的运行配置。启用“启用启动优化”将添加“-XX:TieredStopAtLevel = 1”和“-noverify”。此文档已记录在此处 - boombar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接