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