从命令行获取 Java 合规级别信息
Posted
技术标签:
【中文标题】从命令行获取 Java 合规级别信息【英文标题】:Get Java compliance level information from command line 【发布时间】: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。
提前致谢:-)
【问题讨论】:
【参考方案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
【讨论】:
太棒了。正是我想要的。现在我可以做一些基于行的解析,我完成了。非常感谢!以上是关于从命令行获取 Java 合规级别信息的主要内容,如果未能解决你的问题,请参考以下文章