java - 在 Java 程序中获取 Java 的绝对路径
问题描述
我需要在 Java 程序ProcessBuilder
中调用。java -jar another-program.jar
当 Java 不在时,$PATH
我需要找到当前正在运行的 Java 进程的位置,否则ProcessBuilder
会抛出IOException
.
一种可行的解决方案是:
String javaPath = System.getProperty("java.home") + "/bin/java";
但是当我使用 JDK 运行 Java 程序时,它会返回 JRE 文件夹中的 Java 二进制文件。
如何检索正确的 Java 路径?
我不想依赖JAVA_HOME
or /proc/self/exe
,希望有一个纯 Java 解决方案。
解决方案
推荐阅读
- r - 基于R中条件颜色的螺旋(极地)图?
- c# - 如何使用三层架构创建搜索
- firebase - 在 Cloud Firestore 数据库中保存二进制数据安全吗?
- azure-devops - 如何正确更新我的 PAT,以便我的部署组不会因 PAT 到期而停止工作?
- c# - 错误:更新数据库命令后表 'Table_name' 已存在
- java - 如何读取 .properties 文件中的当前项目路径
- node.js - 我是否必须在需要使用 npm 命令的 bitbucket 管道中的每个步骤中安装 npm
- c# - 如何解释我的方法的参数是“null”而不是“int”
- android - 无法打开从 xamarin.forms 中的 byte[] 下载的文件
- javascript - API调用中的错误处理更改问题