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

Java 21+Spring 6+Tomcat 10项目部署404,求根源及非重建解决办法

问题根源分析
  • Git拉取后的文件结构异常:仓库文件可能存在大小写不一致(Windows不区分但Tomcat/Linux严格区分)、隐藏文件干扰或目录权限问题,导致Tomcat无法扫描到Spring配置类、JSP或静态资源。
  • IDE元数据缓存冲突:拉取项目后,IDE生成的旧元数据(如.idea、.settings)和新配置不兼容,即使重新制作工件或facet,缓存的旧配置仍会影响部署。
  • Maven依赖解析问题:本地仓库的依赖损坏,或pom.xml依赖版本与本地仓库不一致,导致Spring容器初始化失败,但因日志配置缺失未输出报错信息。
  • Tomcat部署残留冲突:Tomcat的webapps目录残留旧项目的war包或解压文件,与新拉取项目的上下文路径冲突,引发404。
无需重建项目的解决步骤
  • 彻底清理缓存与构建产物
    • 执行Maven命令:mvn clean install -U,强制清理target目录并更新依赖。
    • 删除IDE生成的元数据目录(IDEA删.idea,Eclipse删.settings和.project),然后重新导入项目。
  • 修复文件目录结构
    • 确认mainPage.jsp所在的pages目录位于src/main/webapp下,检查目录、文件名大小写是否与Spring视图解析器的配置一致(比如视图解析器前缀为/pages/,实际目录不能写成/Pages/)。
    • 检查.gitignore规则,确保IDE临时文件、target目录被正确忽略,避免拉取冗余文件干扰项目。
  • 重置Tomcat部署配置
    • 删除Tomcatwebapps目录下的项目相关文件(war包及解压文件夹)。
    • 在IDE中删除旧的Tomcat运行配置,重新创建新配置,选择最新的war exploded或war工件,确保上下文路径唯一且正确。
  • 验证Spring配置与日志
    • 检查Spring MVC配置类的视图解析器,确保前缀和后缀匹配JSP路径:
      @Bean
      public InternalResourceViewResolver viewResolver() {
          InternalResourceViewResolver resolver = new InternalResourceViewResolver();
          resolver.setPrefix("/pages/");
          resolver.setSuffix(".jsp");
          return resolver;
      }
      
    • 确认web.xml中DispatcherServlet的映射路径正确(通常设为/),且Spring配置文件路径无误:
      <servlet>
          <servlet-name>dispatcher</servlet-name>
          <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
          <init-param>
              <param-name>contextConfigLocation</param-name>
              <param-value>/WEB-INF/spring-servlet.xml</param-value>
          </init-param>
          <load-on-startup>1</load-on-startup>
      </servlet>
      <servlet-mapping>
          <servlet-name>dispatcher</servlet-name>
          <url-pattern>/</url-pattern>
      </servlet-mapping>
      
    • 添加日志依赖(如logback)并配置日志输出级别为DEBUG,查看Spring容器初始化过程,定位是否有静默失败的情况。
  • 确认版本兼容性
    • 检查IDE的项目SDK、模块SDK均设置为Java 21,Tomcat运行环境也配置为Java 21,确保三者版本匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 13:32:33