首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在jar文件中加载资源Java

在jar文件中加载资源Java
EN

Stack Overflow用户
提问于 2017-10-14 22:09:17
回答 2查看 6.4K关注 0票数 1

我希望加载位于以下位置的html文件:

在独立的spring boot jar应用程序中使用。

这种方法导致了FileSystemNotFoundException

代码语言:javascript
复制
new InputStreamReader(
          getClass().getResourceAsStream("/email-templates/html-email.html")
)

使用

代码语言:javascript
复制
@Autowired
private ResourceLoader resourceLoader;
...
resourceLoader.getResource("classpath:email-templates/html-email.html");

通向NullPointerException

请指定如何正确地加载spring启动jar中的文件。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-10-15 00:05:20

试试下面的代码。使用spring类类资源,您应该能够加载它们。只要您尝试在spring上下文中加载这个文件,Spring容器就知道它的类路径.So --它应该加载相应的file.Otherwise,它试图在文件系统中找到它。

代码语言:javascript
复制
Resource resource = new ClassPathResource("email-templates/html-email.html");

我假设您的jar中有这些资源,如果有这些资源,请在jar文件中检查。

代码语言:javascript
复制
jar tf springboot.jar
票数 3
EN

Stack Overflow用户

发布于 2017-10-14 22:19:38

在jar文件中加载资源Java

试着通过下面的代码。

代码语言:javascript
复制
ClassLoader classloader = Thread.currentThread().getContextClassLoader();
InputStream is = classloader.getResourceAsStream("email-templates/html-email.html");

/email-templates/html-email.html

如果上面的内容不起作用,请访问此帮助全链接Java ClassLoaderUtil

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46749808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档