springboot静态资源映射不生效问题

最近有个同事问我,静态资源映射不生效的问题,很正常我想不就是配置下资源路径就可以了吗?类似配置如下代码

java 复制代码
@Configuration
public class CorsConfig implements WebMvcConfigurer {


    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
    
		//一旦自定义配置静态资源路径,那么springboot默认的那四个静态资源路径规则就会失效
        registry.addResourceHandler("/images/**")
                .addResourceLocations("classpath:/static/","classpath:/static/images/","classpath:/static/images/movie/2023/07/08/","classpath:/static/images/cinema/2023/07/03/","classpath:/static/images/user/2023/07/08/")
                .setCachePeriod(100)
                .resourceChain(true)
                .addResolver(new PathResourceResolver());

    }
}

但通过敲击浏览器 127.0.0.1:port/images/1.jpg,却始终给我404。通过查阅资料和查看文件路径结构,发现我忽略了maven 中对于静态资源的打包方式,

我的目录结果

但是最终在项目的target/class目录下 却没有将static目录,那么问题很明显,尽管我配置了静态资源映射规则,但是实际打包的时候,却没有对应将资源文件打包进去!那么如何将文件打包进去呢?那就是maven中的配置

xml 复制代码
    <build>
        <defaultGoal>compile</defaultGoal>
        <!--定义资源路径-->
        <resources>
            <resource>
                <directory>src/main/java</directory>
                <includes>
                    <include>**/*.xml</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <includes>
                    <include>*/**</include>
                </includes>
                <filtering>false</filtering>
            </resource>
        </resources>
    </build>

相关描述在此 maven文档说明

运行boot项目 ,最终在本地的target目录下的生成的路径如下

![(https://i-blog.csdnimg.cn/direct/aa3f6a6a894746c596c715efe03824c3.png)

重启项目 图片能正确访问到了

相关推荐
abcnull5 小时前
用javaparser做精准测试
java·ast·静态代码分析·精准测试·javaparser
叶小鸡5 小时前
Java 篇-项目实战-苍穹外卖-笔记汇总
java·开发语言·笔记
AI人工智能+电脑小能手5 小时前
【大白话说Java面试题】【Java基础篇】第22题:HashMap 和 HashSet 有哪些区别
java·开发语言·哈希算法·散列表·hash
juniperhan5 小时前
Flink 系列第21篇:Flink SQL 函数与 UDF 全解读:类型推导、开发要点与 Module 扩展
java·大数据·数据仓库·分布式·sql·flink
ID_180079054735 小时前
Python 实现亚马逊商品详情 API 数据准确性校验(极简可用 + JSON 参考)
java·python·json
devpotato5 小时前
Spring Boot mTLS 报 `keystore password was incorrect`:不一定是密码错了
spring boot·tls·pkcs12·mtls
c++之路6 小时前
C++23概述
java·c++·c++23
专注API从业者6 小时前
Open Claw 京东商品监控选品实战:一键抓取、实时监控、高效选品
java·服务器·数据库
摇滚侠7 小时前
DBeaver 导入数据库 导入 SQL 文件 MySQL 备份恢复
java·数据库·mysql
古城小栈7 小时前
从 cargo-whero 库中,找到提升 rust 的契机
开发语言·后端·rust