我想检查用户的 Java 版本是否至少为 1.8.0_171。我的意思是特定迭代或更高版本(例如 1.8.0_151)将不起作用。
我原本计划使用 org.apache.commons.lang3.SystemUtils'isJavaVersionAtLeast(JavaVersion requiredVersion)
方法,但似乎无法指定迭代次数。
基于这一点以及 Java 中表示版本号的方式的变化(例如 1.8 然后 9),在 Java 程序中检查用户的 Java 版本的最佳方法是什么?
Edit:
这被标记为重复这个问题 https://stackoverflow.com/questions/5103121/how-to-find-the-jvm-version-from-a-program;但是,我认为它的不同之处在于,它询问如何将 java 版本与特定版本进行比较,因为 java 版本的显示格式发生了变化。
即使版本控制发生变化,我认为解决方案仍然像使用以下布尔表达式一样简单:
"1.8.0_171".compareTo(System.getProperty("java.version")) <= 0
如果用户的java.version
财产小于1.8.0_171
,则上述表达式返回 false,反之亦然。这适用于使用"9"
or "10"
代替java.version
财产也是如此。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)