【问题标题】:64-Bit Server VM Warning: Options -Xverify:none and -noverify were deprecated in JDK 13. Safe to delete -Xverify:none from Environment Variables?64 位服务器 VM 警告:选项 -Xverify:none 和 -noverify 在 JDK 13 中已弃用。从环境变量中删除 -Xverify:none 是否安全?
【发布时间】:2020-05-23 00:10:35
【问题描述】:

当我运行任何程序时会出现以下消息。

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.

很多相关问题都指向编辑自定义虚拟机选项,但这不适用于我。

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

我几乎可以肯定我不会添加这个变量,那么有没有其他方法可以在环境变量中创建它?从环境变量中删除是否安全?

【问题讨论】:

    标签: java environment-variables system-properties javaoptions


    【解决方案1】:

    如果您不需要运行任何需要禁用启动验证的应用程序(不建议这样做,因为该验证可以保护用户免受恶意代码的侵害),删除它应该是安全的。

    -Xverify 和 -noverfiy 选项已被弃用,并且似乎在未来版本中被删除,以保护用户免受运行恶意代码(如发行说明中所述:https://www.oracle.com/technetwork/java/javase/13all-relnotes-5461743.html 和他们的错误跟踪系统中的链接页面上@ 987654322@)。在这些发行说明中,他们提到 AppCDS 是需要在没有启动验证的情况下运行代码的用户的替代方案。

    【讨论】:

    • 为什么会出现在我的环境变量中?如果我没有添加它
    • 大多数时候,安装程序会操纵环境变量以使某些功能正常工作。但 _JAVA_OPTIONS 通常不应由外部程序编辑,因为它们会影响每个 JavaVirtualMachine 的启动选项。
    • 谢谢。我删除了环境变量,我不再收到错误消息。那么,这可能是我在某个时候不小心创建的东西?什么时候禁用启动验证比较有利?
    • @Suede 如果您使用 Intellij Idea 运行 Spring Boot,请检查您的运行配置。启用Enable launch optimization 将添加-XX:TieredStopAtLevel=1-noverify。它记录在here
    猜你喜欢
    • 2020-07-27
    • 1970-01-01
    • 2016-07-29
    • 2014-05-03
    • 1970-01-01
    • 2015-07-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多