elasticsearch,environment-variables,Java,elasticsearch,Environment Variables" /> elasticsearch,environment-variables,Java,elasticsearch,Environment Variables" />

ElasticSearch和Java环境变量

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环境变量! 按任意键继续 当我这样做时,终端关闭 我已经卸载并重新安装了,但没有修复它。为什么环境变量不能设置?这是一个安装的东西,还是我实际上必须手动设置变量。看起来如果安装正确,它会自动设置变量。。。请帮忙。谢谢

对于Windows7,我已经安装了32位和64位版本的JDK。所有四个安装的版本都是8,更新20。

当我下载并解压elasticsearch,并运行/bin/service.bat或/bin/elasticsearch.bat文件时,我会进入我的终端:

必须设置JAVA_HOME环境变量! 按任意键继续

当我这样做时,终端关闭

我已经卸载并重新安装了,但没有修复它。为什么环境变量不能设置?这是一个安装的东西,还是我实际上必须手动设置变量。看起来如果安装正确,它会自动设置变量。。。请帮忙。谢谢

我已经使用这个函数手动设置了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还是你的<