如何在spring-boot jar中访问类路径文件?

时间:2017-03-16 15:34:05

标签: spring-boot jar classpath

我没有设法访问spring-boot jar中的任何类路径文件。

我尝试了以下内容:

Resource resource = new ClassPathResource("myResourceFile");

但是当我尝试阅读时,我收到了以下信息

it does not reside in the file system: jar:file:/myjar.jar!/BOOT-INF/classes!/myResourceFile

我注意到了2个感叹号。第一个是指示资源是在jar中,但我不知道第二个(课后)是否涉及我的问题。

感谢您的帮助。

我使用spring-boot 1.4.5和spring- * 4.3.7。

2 个答案:

答案 0 :(得分:0)

读取类路径资源的正确方法是将资源作为流。

这可能会解决您的问题:

InputStream is = this.getClass().getResourceAsStream("/myResourceFile");

答案 1 :(得分:0)

如果您需要从类路径加载图像,可以使用以下内容:

new ClassPathResource("/static/img/logo.png");

资源路径:

main -> resources -> static.img -> logo.png