elasticsearch,java-home,Java,Windows,elasticsearch,Java Home" /> elasticsearch,java-home,Java,Windows,elasticsearch,Java Home" />

JAVA_HOME指向无效的JAVA安装

JAVA_HOME指向无效的JAVA安装,java,windows,elasticsearch,java-home,Java,Windows,elasticsearch,Java Home,我在Windows10中设置了JAVA_主页。当我检查java版本时,我得到下一个: C:\>java -version java version "1.8.0_221" Java(TM) SE Runtime Environment (build 1.8.0_221-b11) Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode) 尽管如此,我可以检查javac版本: C:\>javac -version

我在Windows10中设置了JAVA_主页。当我检查java版本时,我得到下一个:

C:\>java -version
java version "1.8.0_221"
Java(TM) SE Runtime Environment (build 1.8.0_221-b11)
Java HotSpot(TM) 64-Bit Server VM (build 25.221-b11, mixed mode)
尽管如此,我可以检查javac版本:

C:\>javac -version
javac 1.8.0_221
我可以启动任何罐子:

D:\>java -jar authTest.jar
Hello world!!!
但当我尝试启动弹性搜索时,我遇到了一个例外:

D:\elasticsearch-2.3.0>bin\service.bat install
JAVA_HOME points to an invalid Java installation (no java.exe found in "C:\Program Files\Java\jdk1.8.0_221;"). Exiting...
但如果在控制台中手动设置JAVA_HOME

D:\elasticsearch-2.3.0>set JAVA_HOME=C:\Program Files\Java\jdk1.8.0_221
服务启动成功:

D:\elasticsearch-2.3.0>bin\service.bat install
Installing service      :  "elasticsearch-service-x64"
Using JAVA_HOME (64-bit):  "C:\Program Files\Java\jdk1.8.0_221"
The service 'elasticsearch-service-x64' has been installed.

但如果我重新打开cmd-我需要重复所有步骤。为什么每次都需要在cmd中设置JAVA\u HOME?

嗨,我认为JAVA\u HOME的属性没有设置,这可能会导致出现此错误。 您可以在环境变量中设置此选项,然后重新启动系统。 或u open cmd 运行>设置并输入
这将起作用。

如果我看对了,在JAVA_主路径的末尾有一个“;”。运行JAR和javac使用PATH环境变量,不受此影响


您可以通过单击“编辑文本”删除尾随“;”当您在允许您添加或删除JAVA_HOME值的windows中时。

您可能并没有定义JAVA路径,但jvm的绝对路径是在$path中定义的,所以只需进入资源管理器>此pc>高级设置>环境变量>并添加一个JAVA_HOME变量,该变量带有jvm所在文件夹的路径可执行文件是

您的环境变量在windows系统中设置了吗?您在哪里设置了JAVA_HOME变量:用户变量还是系统变量?取决于jvm的位置