> 文章列表 > Spring boot项目编译后未能加载静态资源文件

Spring boot项目编译后未能加载静态资源文件

Spring boot项目编译后未能加载静态资源文件

起因:

      因甲方爸爸加了一个紧急的需求: 需要搞一个文件上传和下载功能.

  我心中想:这不简单,搞个资源服务器,将上传文件放上去,然后访问资源链接就行了.

  但接下来甲方爸爸说 不需要这莫麻烦,直接将文件放服务器里,用的时候下载到资源文件夹下就行.

  我心里想: 我擦嘞 还能这样!! 然后小心心翼翼的说 有资源服务器会更好的进行统一管理,

  说了些缺点..但人不想.哎! 那就撸代码吧 结果就发生一个莫名奇妙的事情.

原因: 

   idea中项目启动,在将文件下载到资源路径下时报问题如下:

class path resource [***] cannot be resolved to URL because it does not exist

资源文件找不到错误,我擦.

然后楼主就翻了下编译后的文件夹

     

看到问题没,这里竟然少了一个资源文件夹.可楼主都配置了啊

配置如下:

maven配置:

资源文件文件夹配置:

 

就很奇,为啥编译后target->class下没有static

然后楼主就开始了长达20分钟的查找.百度的结果很乱,但都不能解决问题

最终楼主决定下去抽个烟!!

思考:

    下去抽烟时 楼主就思考.配置路径正确,文件路径也没问题,为啥编译后没生成!

接下来楼主突然想到了种问题,会不会是资源文件下没有资源 导致maven在进行打包时会默认过滤掉没有资源的文件夹!

验证:

  

 楼主在static文件夹下 扔了一个文件 编译了下 然后就好使了.

 就很神奇.

复盘:

  maven在编译的时候 会过滤掉空文件夹,咱们在使用的时候 增加默认文件就好