ElasticSearch和Java环境变量
对于Windows7,我已经安装了32位和64位版本的JDK。所有四个安装的版本都是8,更新20。 当我下载并解压elasticsearch,并运行/bin/service.bat或/bin/elasticsearch.bat文件时,我会进入我的终端: 必须设置JAVA_HOME环境变量! 按任意键继续代码> 当我这样做时,终端关闭 我已经卸载并重新安装了,但没有修复它。为什么环境变量不能设置?这是一个安装的东西,还是我实际上必须手动设置变量。看起来如果安装正确,它会自动设置变量。。。请帮忙。谢谢 我已经使用这个函数手动设置了JAVA_HOME环境变量 我的路径是ElasticSearch和Java环境变量,java,
elasticsearch,environment-variables,Java,
elasticsearch,Environment Variables,对于Windows7,我已经安装了32位和64位版本的JDK。所有四个安装的版本都是8,更新20。 当我下载并解压elasticsearch,并运行/bin/service.bat或/bin/elasticsearch.bat文件时,我会进入我的终端: 必须设置JAVA_HOME环境变量! 按任意键继续 当我这样做时,终端关闭 我已经卸载并重新安装了,但没有修复它。为什么环境变量不能设置?这是一个安装的东西,还是我实际上必须手动设置变量。看起来如果安装正确,它会自动设置变量。。。请帮忙。谢谢
C:\Progra~1\Java\jdk1.8.0\u 20\jre
现在,当我运行service.bat时,终端在打开时立即关闭。
当我运行elasticsearch.bat时,终端会打印一些行,过了一会儿,它就停留在那里,我无法键入任何内容
编辑: 我卸载了所有java,只重新安装了JRE 64位,并将系统环境变量设置为
java\u HOME
和'C:\Progra~1\java\jre1.8.0\u 20
我发现有一个CLASSPATH
设置为32位的旧java版本。我应该删除该变量吗?步骤1
能否验证JAVA\u HOME
是否设置为C:\Progra~1\JAVA\jdk1.8.0\u 20
,
C:\>echo %JAVA_HOME%
java -version
另外,验证java
命令是否可用,
C:\>echo %JAVA_HOME%
java -version
参考
步骤2
如果未设置JAVA\u HOME
,请按照此处提供的步骤操作-
,
- 右键单击桌面上的“我的电脑”图标,然后选择“属性”
- 单击高级选项卡。 单击环境变量按钮。在系统变量下,单击新建
- 输入变量名为JAVA_HOME
- 输入变量值作为JDK的安装路径
(例如
)C:\Progra~1\Java\jdk1.8.0\u 20
- 单击“确定”
- 单击应用更改
JAVA\u-HOM
E变量。您可以为当前用户(机顶盒)或系统范围执行此操作
完成此操作后,打开一个新的cmd窗口(开始菜单,键入“
cmd
”,然后点击回车键),并验证JAVA\u HOME
的设置是否与上述问题相同。如果您没有设置环境变量的权限,则解决方法是:
打开elasticsearch.bat文件
a) 删除该行:
if NOT DEFINED JAVA_HOME goto err
b) 将%JAVA\u HOME%替换为JAVA jdk路径,类似于:C:\Program Files\JAVA\jdk1.7.0\u 51
对于你的终端开始使用,而你不能输入任何东西,它是
对于elasticsearch服务器,您需要使用cygwin这样的客户端连接到它
有关连接到服务器的信息,请参阅elasticsearch文档
已经回答了一个类似的问题:
运行以下命令:
set JAVA_HOME=C:\Program Files\Java\jre8
我曾经遇到过类似的问题,Java home已经设置好了,但仍然抛出了错误。 打开elasticsearch-plugin.bat文件,如果已经设置了JAVA HOME,则将“IF DEFINED JAVA_HOME”更改为“IF DEFINED%JAVA_HOME%”
谢谢这是一个非常常见的错误,JAVA\u家庭环境未设置。所以,我们需要把它建立在一个更加突出的基础上。它要求的是指向jre目录而不是bin目录的路径,即配置和运行elasticsearch的java环境路径。因此,请确保没有在路径中指定bin目录。然后,您可以运行elasticsearch,它将在默认端口9200启动并运行 即使设置了
%JAVA\u HOME%
环境变量,我仍然无法运行它。我的问题是我应该以管理员身份运行elasticsearch.bat
文件。这解决了问题。请参见,您只需执行以下操作:(不要删除任何已设置的环境变量)
- 步骤1:编辑\bin中的elasticsearch-service.bat
- 第2步:在开头的行下方添加(在@echo下方) 设置JAVA_HOME=C:\Program Files\JAVA\jdk1.8.0_162(或您的JAVA路径)
- 步骤3:在同一文件中找到%%JAVA_HOME%%,并将其替换为 %爪哇之家%
- 步骤4:然后从bin文件夹中的cmd运行:elasticsearch-service.bat 安装
- 步骤5:就是这样,现在只需从cmd和 它将运行
Powershell
,而它没有看到环境变量。(我不知道怎么走)
然后我使用了CMD
,它成功地运行了 如果elasticsearch版本为7.5或更高版本,请查找elasticsearch-7.X.Y\bin目录,然后编辑elasticsearch环境蝙蝠,如下所示:
if defined JAVA_HOME (
set JAVA="%WRITE_ELASTICSEARCH_JAVA_PATH%\bin\java.exe" //write java custom path. Edit only this line
set JAVA_TYPE=JAVA_HOME
) else (
set JAVA="%ES_HOME%\jdk\bin\java.exe"
set JAVA_HOME="%ES_HOME%\jdk"
set JAVA_TYPE=bundled jdk
)
您可以像elasticsearch那样定制java路径。我实际上是根据OP中链接的说明来做的。我根据Prayad Upd的建议进行了测试,但测试失败。我将尝试卸载,并重新安装JRE而不是JDK。如果您的意思是在类路径中设置了32位java的路径,您只能从类路径中删除该部分。这意味着您的JAVA\u HOME未设置。执行echo%JAVA\u HOME%
只会给出确切的字符串%JAVA\u HOME%
。但是执行java版本
会打印出我的java版本。@gwho请按照我回答中提供的步骤2链接进行操作。希望helps@gwho还是你的<