2011-10-27 1 views
3

J'ai un fichier de propriétés placé dans le dossier etc. "myapplication.properties" et quelques autres fichiers de propriétés dans chaque sous-module .. J'essaie de faire ce qui suitLire le fichier de propriétés hors guerre en utilisant le ressort

<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"/> 

Je suis en train de faire mvn -Dconfig = ~/my.properties jetty: run

Les propriétés sont lues depuis application.properties mais pas pour la config ..

Lors de l'exécution de l'application je reçois le $ {jdbc.url} pas correct .. Cette URL est présente dans my.properties .. Comment cela peut-il être atteint?

Merci

Répondre

3

ce que je devais, pour l'exécuter

<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> 

<bean 
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="location" value="file:${config}" /> 
</bean> 

Et ajouter -Dconfig =/var // my.properties dans les MAVEN_OPTS .. et a fait jetée mvn: Exécuter

Une autre solution de ligne j'ai trouvé .. au lieu de faire la configuration prolixe faire juste

<context:property-placeholder location="file:${config}"/> 
1

Je pense que cette fonctionnalité sera disponible au printemps 3.1 via la nouvelle abstraction de l'environnement. Voir le blog de printemps suivant pour plus de détails:

http://blog.springsource.com/2011/02/15/spring-3-1-m1-unified-property-management/. Si spring 3.1 n'est pas une option, vous pouvez coder en dur le nom de fichier et le chemin dans le fichier de configuration spring xml vers un emplacement bien connu, puis les développeurs peuvent créer un lien symbolique avec le fichier.

Questions connexes