Apache Solr服务启动失败(LSB):如何修复JAVA_HOME配置异常?
Apache Solr启动失败:JAVA_HOME路径错误的解决办法
从错误日志中可以明确问题根源:
The currently defined JAVA_HOME (/usr/lib/jvm/openjdk-11) refers to a location where Java could not be found. Aborting.
以下是具体解决步骤:
1. 确认Java实际安装路径
执行命令查看系统中Java的真实安装路径:
update-alternatives --list java
输出示例:
/usr/lib/jvm/openjdk-11-amd64/bin/java
提取/bin/java之前的部分,这就是正确的JAVA_HOME路径(比如示例中的/usr/lib/jvm/openjdk-11-amd64)。
2. 修正JAVA_HOME配置
方式一:全局环境变量配置(所有用户生效)
编辑全局环境配置文件:
sudo nano /etc/environment
添加或修改以下内容(替换为你找到的正确路径):
JAVA_HOME="/usr/lib/jvm/openjdk-11-amd64" PATH="$JAVA_HOME/bin:$PATH"
保存退出后,执行命令让配置立即生效:
source /etc/environment
方式二:仅针对Solr服务配置
编辑Solr启动脚本:
sudo nano /etc/init.d/solr
找到脚本中设置JAVA_HOME的行,替换为正确路径:
JAVA_HOME="/usr/lib/jvm/openjdk-11-amd64"
如果脚本未手动设置JAVA_HOME,可切换到solr用户,在其个人配置文件中添加:
su - solr nano ~/.bashrc
添加:
export JAVA_HOME="/usr/lib/jvm/openjdk-11-amd64" export PATH="$JAVA_HOME/bin:$PATH"
保存后执行source ~/.bashrc使配置生效。
3. 验证配置正确性
切换到solr用户,验证Java环境:
su - solr echo $JAVA_HOME java -version
确认JAVA_HOME路径正确,且java -version能正常显示Java版本信息。
4. 重启Solr服务
执行命令重启服务并检查状态:
sudo systemctl start solr.service sudo systemctl status solr.service
内容的提问来源于stack exchange,提问作者Himanshu Jhaloya
相关产品推荐
相关产品推荐

