You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Tomcat 10.1.8部署WAR包报错:请求资源不可用求助

解决Tomcat 10.1.8部署WAR包后资源找不到的报错

这个报错本质是Tomcat无法定位你要访问的资源,针对新手,按以下步骤排查解决:

1. 确认WAR包是否被正确解压

  • 启动Tomcat后,检查webapps目录下是否生成了与WAR包同名的文件夹(比如WAR包名为demo.war,应生成demo文件夹)。如果未生成:
    • 打开logs/catalina.out日志,查找解压失败的具体原因(比如WAR包损坏、目录权限不足)。
    • 手动用解压工具将WAR包解压到webapps目录,确保解压后的文件夹内包含WEB-INF目录(该目录下需有web.xml等核心配置文件)。

2. 检查访问路径是否正确

  • 若你的WAR包不是ROOT.war,访问路径必须带上应用名称,比如http://localhost:8080/你的应用名/(注意末尾的斜杠),不能直接访问http://localhost:8080/。
  • 确认应用内存在首页文件(如index.html、index.jsp),要么在web.xml中配置了对应的欢迎页面,要么该文件在Tomcat默认的欢迎页面列表内。

3. 排查端口占用问题

  • 打开conf/server.xml,查看Connector标签的port值(默认是8080),用命令检查端口是否被其他程序占用:
    • Windows:执行 netstat -ano | findstr "8080"
    • Linux/Mac:执行 lsof -i :8080
  • 如果端口被占用,修改port值后重启Tomcat。

4. 注意Tomcat 10的API兼容性

  • Tomcat 10.x基于Jakarta EE API(包前缀为jakarta.*),不再兼容旧版Java EE的javax.*包。如果你的WAR包是基于Servlet 4.0及以下版本开发的,直接部署会出现问题:
    • 要么将代码中所有javax.*替换为jakarta.*后重新打包部署。
    • 要么更换为Tomcat 9.x版本(兼容javax.*系列API)。

5. 检查目录权限

  • 确保运行Tomcat的用户对webapps目录拥有读写权限:
    • Windows:右键webapps目录,在「安全」选项卡中为当前用户添加读写权限。
    • Linux/Mac:执行 chmod -R 755 webapps调整目录权限。

6. 查看日志定位细节问题

  • 重点查看logs目录下的catalina.out和localhost.log文件,里面会记录更具体的报错信息(比如类加载失败、配置文件语法错误等),根据日志提示针对性解决问题。

报错截图:Tomcat资源未找到报错页面

内容的提问来源于stack exchange,提问作者feye

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.21 07:37:52