我希望检查用户的Java版本是否至少为1.8.0_171。我的意思是特定的迭代或更高版本(例如1.8.0_151)将无法工作。
我原本打算使用org.apache.commons.lang3.SystemUtils的isJavaVersionAtLeast(JavaVersion requiredVersion)
方法,但是似乎您无法指定迭代编号。
基于此以及Java不断变化的表示Java版本号的方式(例如1.8到9),什么是在Java程序中检查用户Java版本的最佳方法?
编辑:
这被标记为pandas的副本;但是,我认为这是不同的,因为它要求更改Java版本的显示格式,因此询问如何将Java版本与特定版本进行比较。
答案 0 :(得分:2)
即使更改了版本,我仍然认为解决方案仍然像使用以下布尔表达式一样简单:
"1.8.0_171".compareTo(System.getProperty("java.version")) <= 0
如果用户的java.version
属性小于1.8.0_171
,则上述表达式返回false,反之亦然。这也适用于使用"9"
或"10"
代替java.version
属性。