在研究一个web项目时发现spring核心配置文件applicationContext.xml中有这样一段配置:
<!-- 引入所有properties属性文件 -->
<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
<property name="ignoreResourceNotFound" value="true"/>
<property name="locations">
<list>
<!-- dev configuration -->
<value>classpath:config/*.properties</value>
<!-- stg prd configuration -->
<value>file:${config.home}/core/*.properties</value>
</list>
</property>
</bean>
<!-- 用于读取参数配置 -->
<bean id="systemConfigProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="ignoreResourceNotFound" value="true"/>
<property name="locations">
<list>
<!-- dev configuration -->
<value>classpath:config/core.properties</value>
<!-- stg prd configuration -->
<value>file:${config.home}/core.properties</value>
</list>
</property>
</bean>
对其中的${config.home}比较迷惑,配置中没有相关信息,后来经同事指点发现是在配置jre时添加的。
增加此项配置即可,配置:-Dlog.home=e:/logs -Dconfig.home=e:/config