har*_*han 3 java intellij-idea system-properties
$java -version
Run Code Online (Sandbox Code Playgroud)
打印如下
java version "1.8.0_40"
Java(TM) SE Runtime Environment (build 1.8.0_40-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.40-b25, mixed mode)
Run Code Online (Sandbox Code Playgroud)
我感兴趣的信息是完整的java版本,System.getProperties()似乎没有这些信息.它只有之前的版本_,而不是更新40我的情况下的信息.
编辑:当我运行测试代码System.out.println(System.getProperty("java.version");打印完整版本.但我正在开发一个大型代码库,在这个代码库中我无法获得相同的结果.我检查了代码库,如果属性在某种程度上被覆盖,但找不到任何东西.
EDIT_2:java.version当我手动编译代码javac然后java在终端上运行它时,我发现打印1.8.0_40 .但是当我通过IntelliJ运行它时,它只打印1.8.0.
您可以使用此属性获取完整版本:
java.runtime.version
Run Code Online (Sandbox Code Playgroud)
这是一个例子:
public class Test {
public static void main(String[] args) {
System.out.println(System.getProperty("java.runtime.version"));
}
}
Run Code Online (Sandbox Code Playgroud)
在我的机器上,我得到以下输出:
1.8.0_92-B14
如果您之前只需要该部件-,请使用以下系统属性:
java.version
Run Code Online (Sandbox Code Playgroud)
这将输出:
1.8.0_92