使用Windows bat脚本运行jar时如何解决JRE问题

时间:2019-08-13 00:22:01

标签: java

我在MANIFEST文件中创建了一个具有以下内容的可运行jar。当在eclipse中运行主类并且使用在我的eclipse中设置的JAVA_HOME时,此方法运行良好。我还将环境变量JAVA_HOME设置为本地的JDK安装路径。现在的问题是,如果使用下面的命令运行相同的jar,它将采用不同的路径而不是JAVA_HOME环境变量。

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

set 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

没有错误

1 个答案:

答案 0 :(得分:0)

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