使用Maven Cargo插件部署至Eclipse集成Tomcat时遭遇404部署失败
Maven Cargo插件部署到Eclipse集成Tomcat报404 Not Found的排查方案
1. 检查Tomcat服务器基础状态
- 确认Eclipse集成的Tomcat已正常启动,Servers视图中状态显示为
Started。用命令检查默认端口(8080)是否被占用:- Windows:
netstat -ano | findstr :8080 - Linux/Mac:
lsof -i :8080
- Windows:
- 查看Tomcat安装目录下的
logs/localhost.log,确认无启动报错(如端口冲突、配置文件语法错误)。
2. 核对Cargo插件Maven配置
确保pom.xml中Cargo插件的配置正确指向Eclipse集成的Tomcat,且部署路径匹配:
<plugin> <groupId>org.codehaus.cargo</groupId> <artifactId>cargo-maven2-plugin</artifactId> <version>1.9.14</version> <configuration> <container> <containerId>tomcat9x</containerId> <!-- 替换为Eclipse集成Tomcat的实际安装目录 --> <home>D:/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0</home> </container> <configuration> <type>existing</type> <!-- 指向Tomcat的配置目录,通常与container.home路径一致 --> <home>D:/eclipse-workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/conf</home> </configuration> <deployer> <deployables> <deployable> <groupId>${project.groupId}</groupId> <artifactId>${project.artifactId}</artifactId> <type>war</type> <!-- 这里的context是项目访问路径,比如设为/myapp,访问地址就是http://localhost:8080/myapp --> <properties> <context>/myapp</context> </properties> </deployable> </deployables> </deployer> </configuration> </plugin>
- 重点确认
<context>属性:访问URL必须和这个值完全匹配,不要直接访问根路径(除非context设为/)。
3. 验证项目打包与部署路径
- 执行
mvn clean package,检查target目录下生成的war包是否完整(大小正常、无打包报错信息)。 - 检查Eclipse集成Tomcat的部署目录(通常在
工作空间/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/webapps),确认你的war包已被解压并部署到该目录。如果未找到,说明Cargo未正确执行部署动作,需检查插件配置中的路径是否有误。
4. 排查项目首页与访问路径
- 确认项目的
web.xml中配置了正确的welcome-file:
<welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>index.html</welcome-file> </welcome-file-list>
- 确保项目根目录下存在对应的首页文件,否则即使部署成功,访问根路径也会返回404。
5. 确认Eclipse服务器发布状态
- 在Eclipse的Servers视图中,右键Tomcat服务器 →
Add and Remove...,确认你的项目已被添加到服务器并处于Configured状态。 - 右键服务器 →
Publish,手动触发发布,确保项目的最新代码已同步到Tomcat部署目录。
内容的提问来源于stack exchange,提问作者Dan R.
相关产品推荐
相关产品推荐

