我正在寻找一种方法来检查我的软件在哪个 Java 版本下运行。
我想在加载期间验证我的软件至少运行在
要获得 java 版本,您可以根据所需的版本使用以下任何一种:
java.specification.version
java.version
java.vm.version
java.runtime.version
但是,请注意,Java 版本在操作系统之间并不等效。因此,OSX 上的 Java 6 与 Windows 上的 Java 6 并不相同。因此,如果您希望确定给定功能是否可用,我建议您还获取运行应用程序的操作系统:
System.getProperty("os.name")
作为一般准则,所有这些东西都在 System 包中。我使用的一个技巧是遍历所有可用字段以了解我可以使用什么:
import java.util.Map;
class ShowProperties {
public static void main(String[] args) {
for (Map.Entry<Object, Object> e : System.getProperties().entrySet()) {
System.out.println(e);
}
}
}
使用 java.version 属性检索 jre 版本。
String javaVersion = System.getProperty("java.version");
if ((!javaVersion.startsWith("1.6")) && (!javaVersion.startsWith("1.7")) && (!javaVersion.startsWith("1.8")) && (!javaVersion.startsWith("1.9")))
{
// error
}
java.lang.System.getProperty("java.version")