在弹性搜索中使用service install命令“JAVA_HOME指向无效的Java安装问题”
我想在我的PHP应用程序中使用弹性搜索。
运行service install命令后 ,我得到了错误。
C:\elasticsearch-0.90.10\bin>service install JAVA_HOME points to an invalid Java installation (no java.exe found in "C:\Progr am Files (x86)\Java\jdk1.7.0_25\bin"). Existing...
打开并查看service.bat
文件:
它搜索:
%JAVA_HOME%\bin\java.exe
因此你的%JAVA_HOME%
不应该包含bin
。
如果您没有设置环境变量的权限,则解决方法:
打开service.bat
文件,
a) 删除该行:
if NOT DEFINED JAVA_HOME goto err
b)用你的java jdk
路径替换 %JAVA_HOME%
,例如: C:\Program Files\Java\jdk1.7.0_51
注意 :这只是一种始终有效的解决方法。
从您的错误消息我们可以看到您的JAVA_HOME指向
C:\Program Files (x86)\Java\jdk1.7.0_25\bin
虽然它应该指向
C:\Program Files (x86)\Java\jdk1.7.0_25
我认为错误信息是相当描述性的,你应该看看这个文件夹是java.exe吗? 如果没有,那么您的JAVA_HOME环境变量指向正确的安装
下面是一个显示如何操作的页面https://confluence.atlassian.com/display/DOC/Setting+the+JAVA_HOME+Variable+in+Windows
第一次点击谷歌。
JAVA_HOME指向错误的位置,或者您没有安装Java。 检查并查看是否在指定的位置安装了Java。
另请注意,JAVA_HOME变量应指向Java安装的根目录而不是/ bin文件夹。 这是由您正在执行的程序添加的。
要更改JAVA_HOME变量以进一步测试,请在命令提示符中使用以下命令:
set JAVA_HOME=c:\xxxx
一旦确定了要使用的正确值,就可以在控制面板>>系统>>高级系统设置>>高级>>环境变量中永久更改
设置JAVA_HOME = C:\ Program Files(x86)\ Java
以上必须解决问题,我在安装弹性搜索时遇到了同样的问题。 我尝试给路径的“bin”部分,但它不起作用,所以我只是给路径中的顶级文件夹“java”,它工作。
只是为了增加我自己的经验。 我正在使用标签自动完成设置JAVA_HOME。 它最终会出现类似“C:\ Program files …:”的内容,并且无法说它无法找到java程序。 我解决了在set命令中键入JAVA_HOME路径而不使用制表符完成的问题。 问题可能与“在env变量中有关