2011-10-27 106 views
3

我有一個屬性文件放置在etc文件夾中。 「myapplication.properties」 和其他幾個屬性文件每個子模塊中..我嘗試做以下使用彈簧讀取外部屬性文件

<bean class="org.springframework.web.context.support.ServletContextPropertyPlaceholderConfigurer"> 
<property name="searchContextAttributes" value="true"/> 
<property name="contextOverride" value="true"/> 
<property name="ignoreResourceNotFound" value="true"/> 
<property name="locations"> 
    <list> 
     <value>classpath:application.properties</value> 
     <value>${config}</value> 
    </list> 
</property> 

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
<property name="ignoreUnresolvablePlaceholders" value="true"/> 

我試圖做MVN -Dconfig =〜/ my.properties碼頭:運行

屬性是從application.properties中讀取的,但不是用於配置的。

在運行應用程序時,我得到$ {jdbc.url}不正確..此URL存在於my.properties中。 這怎麼能實現?

謝謝

回答

3

這是我的曾經,運行它

<bean id="placeholderConfigConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
<property name="systemPropertiesModeName"> 
    <value>SYSTEM_PROPERTIES_MODE_OVERRIDE</value> 
</property> 
<property name="ignoreUnresolvablePlaceholders"> 
    <value>true</value> 
</property> 

​​

而在MAVEN_OPTS添加-Dconfig =/VAR // my.properties ..並沒有MVN碼頭:運行

另一種線路解決方案,我發現..而不是做詳細配置只是做

<context:property-placeholder location="file:${config}"/> 
相關問題