我有一个Spring Project,正在使用bean配置文件
beans.xml
。在bean配置文件中,我为PlaceHolder定义了一些属性,该属性引用了classPath ...在应用程序运行时,这些属性是从/unknownPath/Dev/Loc1/System.properties
加载的
哪里
${BUS_ENV}=Dev
${LOCATION1}=Loc1
<bean id="placeholderProperties" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="locations">
<list>
<value>classpath:${BUS_ENV}/${LOCATION1}/system.properties</value>
<value>classpath:${BUS_ENV}/lbsprocessor.properties</value>
</list>
</property>
<!-- Force system properties to override any deployed runtime properties -->
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
<property name="ignoreUnresolvablePlaceholders" value="true" />
</bean>
Dev/Loc1/System.properties
答案 0 :(得分:0)
如果您使用的是eclipse IDE,请在项目上单击鼠标右键,选择“属性”,然后选择“ Java构建路径”。在第一个选项卡Source上,有一个名为Default Output文件夹的输入,该值是您的类路径。检查所有属性文件是否在该路径中。
答案 1 :(得分:0)
参考您的point 2
问题可能在这些行中
<value>classpath:${BUS_ENV}/${LOCATION1}/system.properties</value>
<value>classpath:${BUS_ENV}/lbsprocessor.properties</value>
您使用classpath
作为文件位置,这意味着这些属性文件必须位于.war文件中的/Dev/Loc1/System.properties
如果属性文件不在项目范围内,则可以在系统级别访问
<value>file:${BUS_ENV}/${LOCATION1}/system.properties</value>
<value>file:${BUS_ENV}/lbsprocessor.properties</value>
例如:
<value>file:/home/testuser/system.properties</value>
答案 2 :(得分:0)
我正在使用Mac OS,因此我们将配置存储为jar文件,位于 / Library / Java / Extension。因此,默认情况下,java直接将类路径引用到该位置。