我有一个“ applicationContext.xml”文件,其中包含以下几行:
<bean id="jdbcPropertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location">
<value>/WEB-INF/properties/support-center.properties</value>
</property>
</bean>
该应用程序启动正常。但是当我打电话时:
ApplicationContext ctx = new ClassPathXmlApplicationContext(“ applicationContext.xml”);
它给出了错误信息:
由以下原因导致:java.io.FileNotFoundException:类路径资源[WEB-INF / properties / support-center.properties]无法打开,因为它不存在
因此,我想如果将其更改为
<value>support-center.properties</value>
并将属性文件放置在与applicationContext.xml相同的目录中,它可能会找到它,但是不,整个应用程序甚至无法启动,并说无法找到support-center.properties现在我很困惑,因为原始设置为:/WEB-INF/properties/support-center.properties
是正确的,它使用此设置启动了应用程序,但是为什么当我致电:
ctx = new ClassPathXmlApplicationContext(“ applicationContext.xml”);
找不到物业?相同的设置,可以在启动时找到,但现在要稍后。为什么呢
编辑:
多亏了答案,它可以[稍作更正]工作,应该是:
<bean id="jdbcPropertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value ="classpath:support-center.properties" />
</bean>
最佳答案
假设support-center.properties位于同一目录或您的类路径中
尝试使用
<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value ="classpath:support-center.properties" />
</bean>
关于java - 为什么在启动时发现了相同的属性文件,但后来在Spring Java应用程序中却找不到?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25172461/