Ubuntu 上 Tomcat 日志报错是一个很常见的问题,但原因很多,需要结合具体报错内容来判断。下面我先给你一个常见原因速查表,再告诉你如何定位具体错误。
在 Ubuntu 上,Tomcat 日志通常在:
/var/log/tomcat9/ # Tomcat 9(最常见)
/var/log/tomcat8/
关键日志文件:
catalina.out ✅(最重要)localhost.logmanager.loghost-manager.log查看实时日志:
tail -f /var/log/tomcat9/catalina.out
报错示例:
java: command not found
UnsupportedClassVersionError
原因:
解决:
java -version
Ubuntu 安装 Java:
sudo apt update
sudo apt install openjdk-11-jdk
设置 JAVA_HOME:
echo $JAVA_HOME
报错示例:
Address already in use
Failed to initialize connector [Connector[HTTP/1.1-8080]]
解决:
sudo netstat -tlnp | grep 8080
杀掉占用进程:
sudo kill -9 PID
或修改端口:
/etc/tomcat9/server.xml
报错示例:
Permission denied
原因:
解决:
sudo chown -R tomcat:tomcat /var/lib/tomcat9
sudo chown -R tomcat:tomcat /var/log/tomcat9
报错示例:
Error deploying web application
Servlet class not found
原因:
解决:
WEB-INF/web.xmllocalhost.log报错示例:
java.lang.OutOfMemoryError
解决: 编辑:
/etc/default/tomcat9
增加:
JAVA_OPTS="-Xms512m -Xmx1024m"
| Tomcat | Servlet | Java |
|---|---|---|
| 7 | 3.0 | 6+ |
| 8 | 3.1 | 7+ |
| 9 | 4.0 | 8+ |
| 10 | 5.0 | 11+ |
⚠️ Tomcat 10 包名从 javax. 改成 jakarta.**,老项目会直接报错。
把 catalina.out 中的报错前 30 行贴出来,我可以直接帮你判断。
你可以执行:
tail -n 50 /var/log/tomcat9/catalina.out
然后复制给我。
你可以直接告诉我:
我可以精确告诉你哪一行错了、怎么改 ✅