在运行时获取Java版本
我需要解决JDK 1.5中的Java错误,该错误已在1.6中修复。我正在使用以下条件:
if (System.getProperty("java.version").startsWith("1.5.")) { ...
} else {
...
}
这对其他JVM有用吗?有更好的方法来检查吗?
回答:
java.version
是每个JVM中都存在的系统属性。有两种可能的格式:
- Java的8或降低:1.6.0_23,1.7.0,1.7.0_80,1.8.0_211
- Java的9或更高:9.0.1,11.0.4,12,12.0.1
这是提取主要版本的技巧:如果它是1.x.y_z
版本字符串,则提取字符串索引2处的字符。如果是x.y.z
版本字符串,则将其剪切为第一个点字符(如果存在)。
private static int getVersion() { String version = System.getProperty("java.version");
if(version.startsWith("1.")) {
version = version.substring(2, 3);
} else {
int dot = version.indexOf(".");
if(dot != -1) { version = version.substring(0, dot); }
} return Integer.parseInt(version);
}
现在,您可以更加轻松地检查版本:
if(getVersion() < 6) { // ...
}
以上是 在运行时获取Java版本 的全部内容, 来源链接: utcz.com/qa/423336.html