如何以编程方式安装Java版本

如何以编程方式安装Java版本,java,Java,我需要从我的应用程序运行一个Java应用程序(也是Java),但我需要能够评估要使用的Java版本。我需要运行的应用程序需要Java 1.7+,但并非所有版本都完全兼容,因此我希望能够使用按以下顺序安装的最合适的Java版本: String preferredJavaPath; if (Java 1.8 is installed) { preferredJavaPath = Java 1.8 Path } else if (Java 1.7 is installed) {

我需要从我的应用程序运行一个Java应用程序(也是Java),但我需要能够评估要使用的Java版本。我需要运行的应用程序需要Java 1.7+,但并非所有版本都完全兼容,因此我希望能够使用按以下顺序安装的最合适的Java版本:

 String preferredJavaPath;

 if (Java 1.8 is installed) {
    preferredJavaPath = Java 1.8 Path
 } else if (Java 1.7 is installed) {
    preferredJavaPath = Java 1.7 Path
 } else {
    preferredJavaPath = current version running.
 }

 if (preferredJavaPath < 1.7) {
    Show warning message.
 }

 Run APP2 using "preferredJavaPath"
String preferredJavaPath;
如果(已安装Java 1.8){
preferredJavaPath=Java1.8路径
}else if(已安装Java 1.7){
preferredJavaPath=Java1.7路径
}否则{
preferredJavaPath=正在运行的当前版本。
}
if(首选javapath<1.7){
显示警告消息。
}
使用“preferredJavaPath”运行APP2
我目前正在使用
System.getProperty(“java.home”)
获取默认情况下java版本(当前版本)的位置

我需要它在Windows、Linux和MacOS上工作


我一直在互联网上进行研究,但大多数只涉及Windows,结果不是很好。

这只返回当前版本,而不是所有已安装的版本。请参阅我的出版物的伪代码。我需要找到是否安装了Java 1.8,如果是,获取其位置,如果不是,查找Java 1.7,如果存在,获取其位置,如果两者都不存在,只使用当前版本。没有保证的方法可以做到这一点。尤其是在Linux上。但请看这个问题,了解一些可能的技巧:
System.getProperty("java.version")