在 Python 中验证 Java 版本

我正在开发一个 Python 程序,它充当 Java 程序的包装器。我目前正在尝试验证用户的 Java 版本,以便我可以说它很好,或者用户需要不同版本的 Java。我的问题来自这样一个事实,即有多种 Java,例如,运行 OpenJDK 的人具有类似 11.0.8 的版本号模式,而 Java 将具有类似 1.8 的版本号模式。我当前的代码可以得到这个数字,但我找不到任何类似“AdoptOpenJDK 2.5 相当于 OpenJDK 11.0.8,相当于 Java 1.8”这样的话。如果我能得到类似的结果,那么这个问题就可以通过简单的字典查找来解决。

我当前的代码:

java_version = subprocess.check_output(['java','-version'],stderr=subprocess.STDOUT) # returns bytestring
java_version = java_version.decode("utf-8") # convert to regular string
version_number_pattern = r'\"(\d+\.\d+).*\"' # regex pattern matching
version = re.search(version_number_pattern,java_version).groups()[0]

attained from here

如有任何帮助,将不胜感激,谢谢!

mahate 回答:在 Python 中验证 Java 版本

最可靠的方法是运行一个小程序来测试您需要的功能。为 java 1.2 编译主类,使其始终是可执行的,然后 try-catch-invoke 测试类。

问题是您需要它的原因。如果它只是一个人,请出示字符串并让他们目视检查。如果是验证JVM运行测试代码。

本文链接:https://www.f2er.com/28118.html

大家都在问