java - getResourceAsStream 没有在 webapp 中加载资源

标签 java tomcat jakarta-ee

我有一个 Web 应用程序,它使用驻留在 TOMCAT_HOME/common/lib 中的库。该库在类路径的根目录中查找属性文件(在名为 ApplicationConfig 的类中):

ApplicationConfig.class.getResourceAsStream("/hv-application.properties");

我的 Tomcat Web 应用程序包含此属性文件。它在 WEB-INF/classes 中,这是类路径的根,对吗?但是,在运行时,当它尝试加载属性文件时,它会抛出异常,因为找不到它(getResourceAsStream 返回 null)。

如果我的应用程序是一个简单的、独立的 Java 应用程序,那么一切正常。 Tomcat 是否会导致 getResourceAsStream 方法的行为不同?我知道那里有很多类似的问题,但不幸的是它们都没有帮助。谢谢。

最佳答案

改为尝试 Thread.currentThread().getContextClassLoader().getResourceAsStream("/hv-application.properties")

关于java - getResourceAsStream 没有在 webapp 中加载资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2653322/

相关文章:

java - 如何在使用 ResourceBundle API 获取的属性文件中转义大括号

java - 逐行读取 STDIN 的最快方法?

java - 非抽象对象上的 JPA 延迟加载

tomcat - 有条件过滤 Tomcat AccessLogValve

java - JSP搜索栏功能

java - MSSQL 中浮点字段中的 NaN 值

java - 在方法名称中发现无效字符。 HTTP 方法必须是 token

jakarta-ee - JTA和Spring @Transactional批注之间的区别

java - Solr CoreAware FilterFactory

java - Ejb 查找中的类转换异常