Tomcat 9/10启动报错:无法找到或加载主类,设CATALINA_HOME仍失败
问题分析
这个错误的核心原因是Java或Tomcat的安装路径包含空格,启动脚本startup.bat处理带空格的路径时未正确添加引号,导致路径被截断,系统无法识别完整的主类路径(比如错误信息里的Files\RedHat\java-1.8.0-openjdk...就是路径被空格截断后的无效部分)。
解决方法
修正JAVA_HOME环境变量
确保JAVA_HOME指向的Java路径被双引号包裹。比如你的Java安装路径是C:\Program Files\RedHat\java-1.8.0-openjdk-1.8.0.402-1,直接修改系统环境变量的JAVA_HOME值为:"C:\Program Files\RedHat\java-1.8.0-openjdk-1.8.0.402-1"也可以在命令行临时设置:
set JAVA_HOME="C:\Program Files\RedHat\java-1.8.0-openjdk-1.8.0.402-1"修改Tomcat的catalina.bat脚本
找到Tomcat安装目录下bin文件夹里的catalina.bat,打开后定位到CLASSPATH定义部分,给所有带空格的路径加上双引号,示例:set CLASSPATH="%CATALINA_HOME%\bin\bootstrap.jar";"%CATALINA_HOME%\bin\tomcat-juli.jar"同时检查脚本中引用
JAVA_HOME的地方,确保变量被正确包裹,比如写成"%JAVA_HOME%\jre\bin\java"的形式。更换无空格路径重新安装(可选)
若不想修改脚本,可将Java或Tomcat重新安装到不含空格的路径下,比如C:\Java\jdk1.8.0_402、C:\Tomcat\10.1,避免路径截断问题。临时启动测试方案
在命令行手动设置带引号的环境变量后启动Tomcat:set JAVA_HOME="C:\Program Files\RedHat\java-1.8.0-openjdk-1.8.0.402-1" set CATALINA_HOME="C:\Program Files\Apache Software Foundation\Tomcat 10.1" cd "C:\Program Files\Apache Software Foundation\Tomcat 10.1\bin" startup.bat
内容的提问来源于stack exchange,提问作者Rajivjackz
相关产品推荐
相关产品推荐

