Tomcat启动失败:已安装JDK但提示JAVA_HOME需指向JDK而非JRE
问题解决:Tomcat启动报错"NB: JAVA_HOME should point to a JDK not a JRE"
问题根源
你配置的JAVA_HOME路径错误:指向了JRE的bin子目录,而非JDK的根目录。Tomcat启动脚本会检查JAVA_HOME下是否存在JDK专属工具(如javac),JRE目录不包含这些工具,因此触发报错。
解决步骤
1. 确认JDK的正确根路径
在RHEL 7.9上,通过RPM安装的OpenJDK 8根路径应为:
/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64
可通过以下命令验证JDK安装路径:
rpm -ql java-1.8.0-openjdk-devel | grep -E "^/usr/lib/jvm/[^/]+$"
2. 修改.bashrc配置
编辑用户主目录下的.bashrc文件,修正JAVA_HOME并补充PATH配置:
# 注释或删除原错误配置 # export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64/jre/bin/" # 添加正确配置 export JAVA_HOME="/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.372.b07-1.el7_9.x86_64" export PATH=$JAVA_HOME/bin:$PATH
3. 使配置生效并验证
执行以下命令加载新配置:
source ~/.bashrc
验证配置是否正确:
# 查看JAVA_HOME路径 echo $JAVA_HOME # 验证JDK工具(javac是JDK专属命令) javac -version
若输出javac 1.8.0_372则说明配置正确。
4. 启动Tomcat
切换到Tomcat的bin目录,执行启动脚本:
./startup.sh
若需查看实时启动日志,可使用:
./catalina.sh run
内容的提问来源于stack exchange,提问作者BuddyLee
相关产品推荐
相关产品推荐

