如何找到我的JVM创建的特定java.exe的位置?

时间:2016-04-27 19:33:05

标签: java windows

我不想找到系统的JAVA_HOME。我不想查找系统变量。

我需要确切知道独立(捆绑的JRE)位于由它启动的.jar中的位置。

示例:用户使用捆绑的.jre安装应用程序,然后启动它。程序不仅需要确定当前运行的目录,还需要确定与其捆绑的java.exe的位置。我可以根据当前运行目录的相对路径做出假设,但我更喜欢绝对确定当前运行的java.exe的完整路径的方法。我不相信这是一个重复的问题,因为我找不到回复系统或用户配置文件java_home的任何实例(或答案)。

我认为这将是一项简单的任务,但到目前为止还没有找到答案。

2 个答案:

答案 0 :(得分:1)

如果您在Windows上,请查看此帖子的最后一个答案:[docs

这是代码

canonicalWebUrl

答案 1 :(得分:0)

我没试过这个。只是一个想法:

  1. 获取当前进程ID
  2. How can a Java program get its own process ID?

    1. 获取PID的特定Windows信息(从Java执行并处理命令)。
    2. https://superuser.com/questions/768984/show-exe-file-path-of-running-processes-on-the-command-line-in-windows