我有一个 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/