ElasticSearch系列4-windows-安装插件时报此时不应有-Javajdk1.8.0_111的解决办法
目录
ElasticSearch系列(4) windows 安装插件时报“此时不应有 \Java\jdk1.8.0_111”的解决办法
在 windows 64bit,安装了 32bit java时,运行 bin\elasticsearch-plugin install lang-python 时,报告“此时不应有 \Java\jdk1.8.0_111”
检查 elasticsearch-plugin.bat 文件 发现 有如下内容
IF DEFINED JAVA_HOME (
set JAVA=%JAVA_HOME%\bin\java.exe
) ELSE (
FOR %%I IN (java.exe) DO set JAVA=%%~$PATH:I
)
在windows 64bit环境下, 32bit 的java下, JAVA_HOME 为 C:\Program Files (x86)\Java\jdk1.8.0_111
这里的包含了 括号,导致bat解析错误。
解决办法为修改 elasticsearch-plugin.bat 相应内容:
set JAVA="%JAVA_HOME%\bin\java.exe"
后续的"%JAVA%" ,去掉 外面的引号即可:
修改后的elasticsearch-plugin.bat如下:
@echo off
SETLOCAL enabledelayedexpansion
IF DEFINED JAVA_HOME (
set JAVA="%JAVA_HOME%\bin\java.exe"
) ELSE (
FOR %%I IN (java.exe) DO set JAVA=%%~$PATH:I
)
IF NOT EXIST %JAVA% (
ECHO Could not find any executable java binary. Please install java in your PATH or set JAVA_HOME 1>&2
EXIT /B 1
)
set SCRIPT_DIR=%~dp0
for %%I in ("%SCRIPT_DIR%..") do set ES_HOME=%%~dpfI
TITLE Elasticsearch Plugin Manager 5.2.1
SET path_props=-Des.path.home="%ES_HOME%"
IF DEFINED CONF_DIR (
SET path_props=!path_props! -Des.path.conf="%CONF_DIR%"
)
SET args=%*
SET HOSTNAME=%COMPUTERNAME%
%JAVA% %ES_JAVA_OPTS% !path_props! -cp "%ES_HOME%/lib/*;" "org.elasticsearch.plugins.PluginCli" !args!
ENDLOCAL