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

Spring Boot3.2.1+Spring Cloud2023.0.0部署生产环境遇静态资源异常

问题分析与解决办法

核心问题定位

报错NoResourceFoundException: No static resource monitor/lb表明系统尝试访问/monitor/lb路径对应的静态资源,但未找到匹配的文件。结合Spring Boot 3.2.1 + Spring Cloud 2023.0.0的版本升级背景,以及本地正常、生产异常的差异,可从以下维度排查解决:


具体解决步骤

  • 确认请求来源
    先排查生产服务器上/monitor/lb请求的发起方:可能是监控工具、反向代理配置、上下游服务调用的误写路径。若为外部请求配置错误,直接修正调用方路径即可解决。

  • 核对Actuator端点配置
    Spring Boot 3.x对Actuator端点的默认路径、暴露规则做了调整,若原项目依赖/monitor作为监控前缀,需显式配置:

    management:
      endpoints:
        web:
          base-path: /monitor # 覆盖默认的/actuator路径
          exposure:
            include: health,info # 根据实际需求选择要暴露的端点,避免全开风险
    

    确保配置在生产环境的配置文件中生效,而非仅在本地配置。

  • 检查负载均衡依赖与静态资源映射
    Spring Cloud 2023.0.0默认使用Spring Cloud LoadBalancer,若项目需提供lb相关监控静态资源:

    1. 确认依赖正确引入:
    <dependency>
      <groupId>org.springframework.cloud</groupId>
      <artifactId>spring-cloud-starter-loadbalancer</artifactId>
    </dependency>
    
    1. 若存在自定义WebMvc配置,检查是否覆盖了默认静态资源映射,可添加自定义映射规则:
    @Configuration
    public class WebResourceConfig implements WebMvcConfigurer {
        @Override
        public void addResourceHandlers(ResourceHandlerRegistry registry) {
            registry.addResourceHandler("/monitor/**")
                    .addResourceLocations("classpath:/static/monitor/");
        }
    }
    

    并在src/main/resources/static/monitor/目录下放置lb相关的静态资源文件(如HTML、JS等)。

  • 验证生产打包完整性
    本地正常但生产异常,可能是打包时静态资源未被正确包含。检查构建工具配置:
    Maven项目确保pom.xml中资源配置正确:

    <build>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>**/*</include>
                </includes>
            </resource>
        </resources>
    </build>
    

    打包后解压jar/war文件,确认static/monitor/目录及相关资源存在。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.01 18:46:01