您的位置:首页 > 编程语言 > Java开发

ElasticSearch系列(4) windows 安装插件时报“此时不应有 \Java\jdk1.8.0_111”的解决办法

2017-02-17 11:58 549 查看
在 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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐