【问题标题】:How to fix JRE issue when running jar with windows bat script [duplicate]使用Windows bat脚本运行jar时如何解决JRE问题[重复]
【发布时间】:2019-12-19 12:52:14
【问题描述】:

我在 MANIFEST 文件中创建了一个包含以下内容的可运行 jar。在 eclipse 中运行主类并且它使用在我的 eclipse 中设置的 JAVA_HOME 时,这工作正常。我还将环境变量 JAVA_HOME 设置为本地的 JDK 安装路径。现在的问题是,如果使用下面的命令运行同一个 jar,它会采用不同的路径而不是 JAVA_HOME 环境变量。

我已尝试从命令行运行以下命令,但仍无法按预期运行

设置 JAVA_HOME=C:\Program Files\Java\jdk1.8.0_211 java -jar my-jar-name.jar

在我的源代码中,我使用 System.getProperty("java.home") 打印 C:\Program Files\Java\jre1.8.0_211 。但是我已经在环境变量中将 JAVA_HOME 设置为 C:\Program Files\Java\jdk1.8.0_211 。如果我在命令行上手动运行 echo %JAVA_HOME%,它会正确打印。

我希望我的 jar 打印 JAVA_HOME 如下。 C:\Program Files\Java\jdk1.8.0_211 但实际上在下面打印。 C:\Program Files\Java\jre1.8.0_211

没有错误

【问题讨论】:

  • 对不起,不,我已经正确设置了 java_home。我已经使用 echo %JAVA_HOME% 打印了它
  • System.getProperties() 的输出是什么

标签: java


【解决方案1】:

您想使用System.getenv("JAVA_HOME"),它读取用于指向您的JDK 的环境变量。使用System.getProperty("java.home") 是一个系统属性,它将指向您安装的JRE。 This post 更详细地介绍了两者之间的差异。

【讨论】:

  • 效果很好。谢谢
猜你喜欢
  • 1970-01-01
  • 2015-11-06
  • 2022-01-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-07-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多