0

我正在寻找一种方法来检查我的软件在哪个 Java 版本下运行。

我想在加载期间验证我的软件至少运行在

4

4 回答 4

5

要获得 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);
    }
  }
}
于 2013-06-26T20:19:23.027 回答
3

使用 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
}
于 2013-06-26T20:15:39.813 回答
1

您可以使用System.getProperty

System.out.println(System.getProperty("java.version"));
1.7.0_21
于 2013-06-26T20:15:10.697 回答
0
java.lang.System.getProperty("java.version")
于 2013-06-26T20:15:22.153 回答