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

如何脱离Eclipse在Tomcat上运行Maven Web应用?

解决Tomcat部署WAR包无法访问的问题

这种情况我碰到过好多次,先别着急改XML,咱们一步步排查和配置:

先排查基础问题,大概率能解决

  • 确认WAR包是否正确生成:别用Eclipse自带的导出功能,最好打开命令行到项目根目录,执行mvn clean package生成WAR包——Maven构建的包会自动把compile范围的依赖打包进去,避免Eclipse导出时遗漏配置文件或依赖。
  • 查看Tomcat启动日志:启动Tomcat后,去Tomcat目录/logs下翻catalina.out或者localhost.log,有没有报错?比如数据库驱动找不到、项目初始化抛出异常,这些都会直接导致项目无法访问。
  • 核对访问路径:默认情况下,Tomcat会把webapps下的WAR包解压成同名文件夹,访问路径就是http://localhost:8080/你的WAR包文件名(如果WAR包叫ROOT.war,直接访问http://localhost:8080就行)。如果你在Eclipse里给项目设了自定义上下文路径,这里要对应上。

如果基础排查没问题,再来看需要调整XML的场景:

1. 自定义上下文路径/数据源:配置Context文件

如果需要自定义访问路径、或者想把数据库连接池交给Tomcat管理,就需要配置Context文件:
在Tomcat的conf/Catalina/localhost目录下,创建一个XML文件,文件名就是你想要的上下文路径(比如想通过http://localhost:8080/mywebapp访问,就命名为mywebapp.xml),内容示例:

<Context docBase="D:/tomcat/webapps/你的项目WAR包名.war" 
         reloadable="true">
    <!-- 配置MySQL连接池(如果需要的话) -->
    <Resource name="jdbc/MyDB"
              auth="Container"
              type="javax.sql.DataSource"
              driverClassName="com.mysql.cj.jdbc.Driver"
              url="jdbc:mysql://localhost:3306/你的数据库名?useUnicode=true&characterEncoding=utf8&serverTimezone=UTC"
              username="你的数据库账号"
              password="你的数据库密码"
              maxTotal="20"
              maxIdle="10"
              maxWaitMillis="-1"/>
</Context>

这样配置后,Tomcat启动时会自动加载这个配置,甚至WAR包不用放在webapps目录里,只要docBase指向正确的WAR路径就行。

2. 确保MySQL驱动能被Tomcat找到

因为你的项目关联了MySQL,这里容易踩坑:

  • 如果Maven里MySQL驱动的依赖范围是provided(意思是由容器提供),那必须把mysql-connector-java-x.x.x.jar放到Tomcat的lib目录下,否则Tomcat启动时会找不到驱动,数据库连不上,项目自然启动失败。
  • 检查项目里的数据库配置文件(比如db.properties、Spring配置文件),确保数据库地址、账号密码和本地MySQL的配置一致——别在Eclipse里用了测试环境的配置,到Tomcat里忘了改。

3. 全局web.xml(一般不用改)

除非你的项目有特殊的全局配置需求(比如自定义错误页面、强制编码的Filter),否则不用修改Tomcat全局的conf/web.xml。如果在Eclipse里运行正常,这一步可以跳过。

最后提醒:修改任何配置后,一定要重启Tomcat,并且清空Tomcat/work/Catalina/localhost下对应项目的缓存目录,避免旧缓存导致的奇怪问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:54:31