1
我想在我的应用程序中支持Java 1.5+,但如果用户在Java 1.6+ JVM上运行,则使用Java 1.6 + -specific API调用。所以我需要一种方法来检查当前版本的JVM,并确保只使用可用的API。当然,我将用-target 1.5
进行编译。如何检查当前版本的Java是否高于1.6
我想出:
if (System.getProperty("java.vm.version").startsWith("1.5")) {
// Do 1.5 things
} else {
// Do 1.6+ things
}
这似乎符合这个要求,但我不知道是否有一个“更好”的方式?此外,如果我小心不要从我的1.5代码中调用任何1.6 API调用,那么在1.5 JVM上运行时是否仍有可能获得NoSuchMethodError
s,NoClassDefFound
?
可能的复制为:http://stackoverflow.com/questions/2591083/getting-version-of-java-in -运行 – Thomas 2012-02-23 19:45:05