【问题标题】:Get Java compliance level information from command line从命令行获取 Java 合规级别信息
【发布时间】:2020-12-08 13:28:28
【问题描述】:

我使用 Java 14,我想为 Eclipse 编写一个自动配置脚本,以防我在我的机器上更新 Java。 Eclipse 使用以下行来指定默认的 Java VM:

<vmSettings defaultVM="57,org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType13,1597823290779" defaultVMConnector="">

如您所见,“defaultVM”属性中的第一个参数是合规级别,我不知道如何从 java 命令获取此值(在本例中为“57”)。 “java --version”只给了我“14.0.2”,但这不是合规级别。关于如何在命令行上获得合规级别还有其他一些参数吗?然后,我将使用 PowerShell 命令对其进行解析和评估。像“javac”这样的其他命令也可以使用,因为我是从 zip redist 包中安装 OpenJDK。

提前致谢:-)

【问题讨论】:

    标签: java command-line version


    【解决方案1】:

    java -XshowSettings:all 将显示所有可用值。 java -X 将显示可用选项。也就是说,您仍然需要进行一些翻译。看起来“合规级别”可能对应于java.class.version(主要)版本:

    $ $(/usr/libexec/java_home -v 13)/bin/java -XshowSettings:all 2>&1 | grep java.class.version
        java.class.version = 57.0
    $ $(/usr/libexec/java_home -v 14)/bin/java -XshowSettings:all 2>&1 | grep java.class.version
        java.class.version = 58.0
    

    【讨论】:

    • 太棒了。正是我想要的。现在我可以做一些基于行的解析,我完成了。非常感谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-25
    相关资源
    最近更新 更多