springboot 打成jar后读取resources下面的文件

2023-11-04

1.使用idea开发过程中获取resources的路径是使用的这个方法

File file = ResourceUtils.getFile(ResourceUtils.CLASSPATH_URL_PREFIX + "文件名称.data");

然后就可以获取 file 获取文件进行各种操作

但是当达成jar 后发现此方法不能获取到文件

然后通过解压工具查看达成jar包,发现路径是这样的

(有时间的话可以自己断点看下这个方法获取的路径,这里不进行演示了)

对比日志后发现一样的并没有不同

唯一的不同是classes后面有一个!号 是这样classes!

jar 文件的后面也是这样有一个!

后来百度发现

在 jar 中资源有其专门的 URL 格式为: jar:!/{entry}

网上还有很多别的方式比如:

ClassPathResource cc = new ClassPathResource("文件名称.data");

ClassPathResource 和 ResourceUtils 的区别就是不用加

ResourceUtils.CLASSPATH_URL_PREFIX 也就是 classpath:

最后的解决方式:

使用

 this.getClass()
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

springboot 打成jar后读取resources下面的文件 的相关文章

随机推荐