4

我希望检查用户的 Java 版本是否至少为 1.8.0_171。我的意思是特定的迭代或更高版本,例如 1.8.0_151,将不起作用。

本来打算用org.apache.commons.lang3.SystemUtils的isJavaVersionAtLeast(JavaVersion requiredVersion)方法,但是好像不能指定迭代次数。

基于此以及 Java 在 Java 中表示版本号的方式不断变化(例如 1.8 然后 9),在 Java 程序中检查用户的 Java 版本的最佳方法是什么?

编辑:

这被标记为这个问题的重复;但是,我认为它的不同之处在于它询问如何将 java 版本与某个版本进行比较,因为 java 版本的显示方式发生了变化。

4

1 回答 1

2

即使版本控制发生了变化,我认为解决方案仍然像使用以下布尔表达式一样简单:

"1.8.0_171".compareTo(System.getProperty("java.version")) <= 0

如果用户的java.version属性小于1.8.0_171,则上述表达式返回 false,反之亦然。这也适用于使用"9""10"代替java.version属性。

于 2018-07-05T17:41:48.400 回答