Windows环境下作为服务的Elasticsearch如何不依赖JAVA_HOME指定Java路径?
在Windows环境下为作为服务安装的Elasticsearch指定私有JRE(无需依赖JAVA_HOME)
当然有办法!完全不用动系统的JAVA_HOME环境变量,就能让作为服务运行的Elasticsearch指向你交付的私有JRE 8,下面是两种靠谱的方案:
方案1:安装服务时直接指定JRE路径
用Elasticsearch自带的elasticsearch-service.bat脚本安装服务时,直接通过--JvmHome参数指定你的私有JRE路径就行,命令示例:
elasticsearch-service.bat install --JvmHome "C:\your-delivery-path\private-jre8"
这样安装出来的服务会直接绑定你指定的JRE,完全不会读取系统的JAVA_HOME,自然不会干扰其他应用。
方案2:修改已安装的服务配置
如果已经提前把服务装好了,也不用重新安装,直接修改服务的配置即可:
- 图形化操作方式:
- 打开命令行,进入Elasticsearch的
bin目录,执行elasticsearch-service.bat manager,会弹出Apache Commons Daemon的配置界面 - 切换到「Java」标签页,找到「Java Virtual Machine」输入框,直接填入你私有JRE里
jvm.dll的完整路径,比如C:\your-delivery-path\private-jre8\bin\server\jvm.dll - 点击「Apply」保存,然后重启Elasticsearch服务就生效了
- 打开命令行,进入Elasticsearch的
- 命令行操作方式:
同样在Elasticsearch的bin目录下执行:
然后重启服务:elasticsearch-service.bat config --JvmHome "C:\your-delivery-path\private-jre8"elasticsearch-service.bat restart
注意事项
- 确保你的私有JRE是64位版本,因为Windows下的Elasticsearch只支持64位JVM
- 确认JRE 8和你交付的Elasticsearch版本兼容(比如Elasticsearch 6.x到7.x大多支持JRE 8)
内容的提问来源于stack exchange,提问作者Alejandro González
相关产品推荐
相关产品推荐

