温馨提示×

Ubuntu Tomcat日志为何报错

小樊
45
2026-07-10 10:04:03
栏目: 智能运维

Ubuntu 上 Tomcat 日志报错是一个很常见的问题,但原因很多,需要结合具体报错内容来判断。下面我先给你一个常见原因速查表,再告诉你如何定位具体错误


一、Tomcat 日志在哪里(先看这里)

在 Ubuntu 上,Tomcat 日志通常在:

/var/log/tomcat9/        # Tomcat 9(最常见)
/var/log/tomcat8/

关键日志文件:

  • catalina.out ✅(最重要)
  • localhost.log
  • manager.log
  • host-manager.log

查看实时日志:

tail -f /var/log/tomcat9/catalina.out

二、Ubuntu 上 Tomcat 常见报错原因

1️⃣ Java 环境问题(最常见)

报错示例:

java: command not found
UnsupportedClassVersionError

原因:

  • 没装 Java
  • Java 版本不匹配(Tomcat 10 需要 Java 11+)

解决:

java -version

Ubuntu 安装 Java:

sudo apt update
sudo apt install openjdk-11-jdk

设置 JAVA_HOME:

echo $JAVA_HOME

2️⃣ 端口被占用(8080 / 8005)

报错示例:

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

3️⃣ 权限问题(Ubuntu 特有)

报错示例:

Permission denied

原因:

  • Tomcat 没权限访问 webapps、logs、work 目录

解决:

sudo chown -R tomcat:tomcat /var/lib/tomcat9
sudo chown -R tomcat:tomcat /var/log/tomcat9

4️⃣ web.xml / 项目配置错误

报错示例:

Error deploying web application
Servlet class not found

原因:

  • war 包损坏
  • web.xml 配置错误
  • 缺少依赖 jar

解决:

  • 重新打包项目
  • 检查 WEB-INF/web.xml
  • 查看 localhost.log

5️⃣ 内存不足(OOM)

报错示例:

java.lang.OutOfMemoryError

解决: 编辑:

/etc/default/tomcat9

增加:

JAVA_OPTS="-Xms512m -Xmx1024m"

6️⃣ Tomcat 版本与项目不兼容

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

然后复制给我。


四、我可以进一步帮你

你可以直接告诉我:

  1. Ubuntu 版本
  2. Tomcat 版本
  3. Java 版本
  4. 报错截图或日志

我可以精确告诉你哪一行错了、怎么改

0