getResourceAsStream没有在webapp中加载资源

Mic*_*ael 14 java tomcat java-ee

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

ApplicationConfig.class.getResourceAsStream("/hv-application.properties");
Run Code Online (Sandbox Code Playgroud)

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

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

Bin*_*mas 24

试试吧Thread.currentThread().getContextClassLoader().getResourceAsStream("/hv-application.properties").

  • 奇怪的是,在使用Win XP和JDK 1.5.08的Tomcat 5.5下,我能够在不使用前导"/"的情况下加载资源文件.实际上在加上"/"时,我遇到了问题. (3认同)