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

Spring Boot WAR部署后Linux环境浏览器返回空白页问题排查

排查Spring Boot WAR包在Linux上返回空白页(关联404响应)的问题

哥们,这种Windows本地跑正常、一到Linux就掉链子的问题,多半是环境配置或者部署细节的差异导致的。结合你提到的和404响应相关,咱们从这几个核心方向一步步排查:

1. 先查部署环境的基础配置

  • 权限与路径检查:先确认Linux上的Servlet容器(比如Tomcat)有没有正确解压你的WAR包,去webapps目录下看看应用文件夹的权限——用ls -l命令,确保Tomcat的运行用户(一般是tomcat)对这个文件夹有读写权限,不然可能连资源都读不出来。
  • 上下文路径一致性:本地是不是用localhost:8080/你的应用名访问?Linux上会不会因为把WAR包改名为ROOT.war,导致上下文路径变成了localhost:8080/?路径不匹配的话,所有路由都会走404逻辑。

2. 深挖404处理的跨环境差异

你试过把404重定向到test.jsp,那得先确认这个逻辑在Linux上能不能正常工作:

  • JSP文件是否被正确打包:用jar tf 你的应用.war命令看看WAR包里有没有WEB-INF/jsp/test.jsp——有时候本地开发时文件在,但打包漏了就麻烦了。
  • 视图解析器配置是否生效:检查application.properties(或yml)里的视图配置:
    spring.mvc.view.prefix=/WEB-INF/jsp/
    spring.mvc.view.suffix=.jsp
    
    会不会Linux环境用了application-prod.properties这类环境配置文件,覆盖了默认的视图路径?要是路径错了,Spring找不到test.jsp,自然返回空白。
  • Spring Boot的错误处理优先级:如果你用web.xml配置了404错误页,要注意Spring Boot WAR部署时,这个配置可能会被Spring自带的错误处理覆盖。不如试试用Spring的方式处理:
    先在配置文件加两行:
    spring.mvc.throw-exception-if-no-handler-found=true
    spring.web.resources.add-mappings=false
    
    然后写个全局异常处理器:
    @ControllerAdvice
    public class Global404Handler {
        @ExceptionHandler(NoHandlerFoundException.class)
        public String handle404() {
            return "test"; // 对应视图解析器里的test.jsp
        }
    }
    

3. 开日志抓细节,别光看启动日志

启动没报错不代表请求处理没毛病,咱们开详细日志看看:
在application.properties里加这两行:

logging.level.org.springframework.web=DEBUG
logging.level.org.apache.catalina=DEBUG

重新部署后,访问路由时去看Linux上容器的日志(比如Tomcat的logs/catalina.out),重点看这几个点:

  • 请求有没有走到你的控制器?还是直接触发了404?
  • 处理404时,视图解析器有没有报“找不到test.jsp”的错误?
  • 有没有权限相关的报错?比如读JSP文件被拒绝。

4. 排查路由匹配的大小写问题

Windows的文件系统不区分大小写,但Linux是严格区分的!比如你的控制器写的是@RequestMapping("/User"),本地访问/user能匹配,但Linux上就会直接404。检查下所有路由的大小写是不是和访问的路径一致。

5. 确认WAR包的完整性

有时候本地打包的缓存会搞事情,建议用mvn clean package重新打一次包,然后对比本地和Linux上的WAR包内容——可以解压后看看目录结构,有没有缺失的依赖或者资源文件。

先按这个顺序排查,应该能找到问题。要是有具体的日志片段或者配置代码,也可以贴出来,咱们再精准分析。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:50:39