导出的code-examples-java WAR包在Tomcat中运行报404错误求助
解决Tomcat部署WAR包出现404的排查步骤
1. 检查WAR包部署状态
- 登录Tomcat管理控制台(默认地址
http://localhost:8080/manager/html),查看已部署应用列表,确认code-examples-java-1.0-SNAPSHOT是否处于"running"状态。若为"stopped",手动启动该应用。 - 前往Tomcat的
webapps目录,检查是否生成了code-examples-java-1.0-SNAPSHOT文件夹,且文件夹内包含完整的WEB-INF、classes、lib等目录结构。若未生成,重新拷贝WAR包至webapps目录后重启Tomcat。
2. 确认访问路径正确性
- IDE运行时的上下文路径可能与Tomcat部署后的路径不同:IDE中可能直接使用
/作为上下文,但Tomcat默认会以WAR包名作为上下文路径,即/code-examples-java-1.0-SNAPSHOT。 - 尝试访问项目具体资源,比如
http://localhost:8080/code-examples-java-1.0-SNAPSHOT/index.html(若存在静态页面),或项目已定义的控制器映射路径,而非仅访问根路径。
3. 核查项目打包配置
- 确认STS导出WAR包的操作是否正确:右键项目 → Export → WAR file,确保勾选必要选项(如"Export source files")且目标路径无误。
- 若为Maven项目,检查
pom.xml配置:确认<packaging>值为war,且finalName与WAR包名一致,无特殊上下文路径修改配置。示例配置:
<packaging>war</packaging> <build> <finalName>code-examples-java-1.0-SNAPSHOT</finalName> <!-- 其他构建配置 --> </build>
4. 验证版本兼容性
- Tomcat 9.0.48兼容Java 8至Java 15,Java 11符合要求,但需确认Tomcat的
setenv.sh(Linux)或setenv.bat(Windows)中,JAVA_HOME是否正确指向Java 11安装目录,避免Tomcat误使用其他Java版本。
5. 排查日志细节
- 查看Tomcat的
catalina.out(Linux)或localhost.log、localhost_access_log.*.txt(Windows)日志,搜索code-examples-java-1.0-SNAPSHOT相关条目,排查是否存在初始化失败信息(如依赖缺失、类加载错误)。 - 若为Spring Boot项目,需确认是否将
spring-boot-starter-tomcat依赖设置为provided,避免与Tomcat内置容器冲突。示例配置:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency>
内容的提问来源于stack exchange,提问作者LMi
相关产品推荐
相关产品推荐

