Check if a Java version is greater than a certain iteration in Java?

无人久伴 提交于 2019-12-23 13:25:39

问题


I wish to check if a user's Java version is at least 1.8.0_171. I mean that specific iteration or higher, meaning 1.8.0_151, for instance, would not work.

I planned to originally use org.apache.commons.lang3.SystemUtils' isJavaVersionAtLeast(JavaVersion requiredVersion) method, but it seems that you cannot specify the iteration number.

Based on this and Java's changing way of representing version numbers in Java (e.g. 1.8 then 9), what is the best way to check the Java version of the user in the Java program?

Edit:

This was marked as a duplicate of this question; however, I think it is different in that it asks how to compare the java version with a certain version given the changes in format of how the java version is shown.


回答1:


Even with the versioning change, I think the solution is still as simple as using the following boolean expression:

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

If the user's java.version property is any less than 1.8.0_171, then the above expression returns false, and vice versa. This works for using "9" or "10" in place of the java.version property as well.



来源:https://stackoverflow.com/questions/51196713/check-if-a-java-version-is-greater-than-a-certain-iteration-in-java

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!