我是靠谱客的博主 贤惠毛衣,最近开发中收集的这篇文章主要介绍springboot jar包启动访问jar包外的静态文件,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

这次做了这么一个需求,上传html字符串到服务器上,服务器生成html文件,并且能直接访问。因为是个小需求,所以就一台服务器,没有静态文件服务器,所以原先打算把html保存到resources/static文件夹下,然后127.0.0.1:8080/xxx.html就能直接访问静态文件,后来在idea上跑是没有问题,可以写入文件到resources/static文件夹下,但是打成jar包之后就没办法写jar包里面的resources/static文件夹了。后来没办法,只能放到jar包外面,也就是在项目外面配一个静态文件目录,但是怎么能在项目里返回项目外的html视图呢?这里我用了一个ResourceHandlerRegistry 做了一个映射,将/view/case/**路径的请求映射到E:\server\目录下,这样就能直接访问E:\server\下的静态文件了

@Configuration
public class WebMvcConfig extends WebMvcConfigurerAdapter {
    @Autowired
    private YmlProperties ymlProperties;

    @Override
    public void addResourceHandlers(ResourceHandlerRegistry registry) {
        registry.addResourceHandler("/view/case/**").addResourceLocations("file: E:\server\");
        super.addResourceHandlers(registry);
    }
}

这种写法不需要在yml中添加其他配置了,我看网上也有讲在yml中配置的,

spring:
  resources:
    static-locations: file:D:/static/

但是我因为我用了拦截器,测试没有生效,后面有时间看下为什么拦截器会导致static-path-pattern等yml中的配置没有生效。

最后

以上就是贤惠毛衣为你收集整理的springboot jar包启动访问jar包外的静态文件的全部内容,希望文章能够帮你解决springboot jar包启动访问jar包外的静态文件所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(55)

评论列表共有 0 条评论

立即
投稿
返回
顶部