这是一个很老的问题,但解决方案并不适合我。无法打开ServletContext资源
我有一个WAR包。
在web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:application-context.xml</param-value>
</context-param>
<listener>
<listener-class>
org.springframework.web.context.ContextLoaderListener
</listener-class>
</listener>
在application-context.xml
<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>classpath:social.properties</value>
</property>
</bean>
但得到这个:
org.springframework.beans.factory.BeanInitializationException:无法加载性能;嵌套的例外是java.io.FileNotFoundException:无法[/social.properties]
我查了WAR包开ServletContext的资源 - .xml
和.properties
文件都在/WEB-INF/classes
.properties
文件是src/main/resources
和.xml
在src/main/java
(默认包两个)和maven运输它们(我认为)正确的默认包WEB-INF/classes
有谁知道为什么我可以得到这个异常?谢谢。
编辑:我只想补充一点,JUnit测试去正确(我的意思是,他们装载他们从social.properties
应该),我认为目前的应用程序的context.xml但在运行应用程序时,它忽略了我的classpath:
前缀
你肯定'类路径:'前缀是居然有? – axtavt 2011-05-17 18:35:16
是的,编译后告诉我'/ home /...- DEVELOPMENT-0.0.1.war'构建成功。当我打开战争并查看'/ WEB-INF/classes/application-context.xml'时,我看到'classpath:'前缀 – kuncajs 2011-05-17 18:40:23
你说“.xml和.properties文件都在/ WEB-INF/classes” - 这是否意味着“social.properties”特别在/ WEB-INF/classes中? – 2011-05-17 18:41:50