不想找系统的JAVA_HOME。我不想查找系统变量。
我需要从它启动的 .jar 中确切知道独立(捆绑的 JRE)的位置。
示例:用户使用捆绑的 .jre 安装应用程序,并启动它。该程序不仅需要确定当前运行目录,还需要确定与其捆绑在一起的 java.exe 的位置。我可以根据当前运行目录的相对路径做出假设,但我更喜欢一种绝对确定当前运行的 java.exe 的完整路径的方法。我不认为这是一个重复的问题,因为我找不到任何未通过引用系统或用户配置文件 java_home 来回答的实例(或答案)。
我认为这将是一项简单的任务,但到目前为止还没有找到答案。
最佳答案
如果您使用的是 Windows,请查看此帖子的最后一个答案:[ Find absolute java.exe path programatically from java code
这是代码
class WhichJava {
public static void main(String args[]){
String libPath = System.getProperty("java.library.path");
String exePath = libPath.substring(0, libPath.indexOf(';')) +
((System.console() == null)? “\\javaw.exe" :”\\java.exe");
System.out.println(exePath);
}
}
关于java - 如何找到创建我的 JVM 的特定 java.exe 的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36899278/