2013-07-16 15 views
22

Sto cercando di leggere il file test1.properties che si trova in una cartella esterna.Aggiunta di una directory a tomcat classpath e lettura del file di proprietà in primavera

qui è la mia primavera file di configurazione:

<bean id="propertyConfigurer3" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="ignoreUnresolvablePlaceholders" value="true"/> 
    <property name="locations"> 
     <list> 
      <value>classpath:test.properties</value> 
      <value>classpath:test1.properties</value> 
     </list> 
    </property> 
</bean> 

se metto il test1.properties nella cartella tomcat7/lib, sono in grado di leggerlo. Tuttavia, voglio metterlo in una directory diversa da tomcat7/env/test1.properties

ho aggiunto il percorso del l'conf/catalina.properties:

common.loader=${catalina.base}/lib,${catalina.base}/lib/*.jar,${catalina.home}/lib,${catalina.home}/lib/*.jar,${catalina.home}/env 

Questa sua non funziona, si prega di aiutare


soluzione: Ok .. finalmente risolto .. lo stavo facendo correttamente tutto questo tempo .. era il mio IDE che ha causato il problema. L'IDE non ha raccolto le modifiche nel file catalina.properties. Ho dovuto eliminare la configurazione del server nel mio IDE e riconfigurarlo.

questi collegamenti sono stati utili in generale:

+4

Si potrebbe anche usare il file ':' prefisso per puntare a un file. – Bart

+0

possibile duplicato di [Problemi con classpath tra Eclipse, Tomcat e JUnit nell'app di Spring 3] (http://stackoverflow.com/questions/4179767/problems-with-classpath-between-eclipse-tomcat-and-junit-in- spring-3-app) –

+0

Alla domanda viene data risposta nei commenti. Vedi http://meta.stackoverflow.com/questions/251597/question-with-no-answers-but-issue-solved-in-the-comments –

risposta

1

Usa setenv.sh nella directory bin. Se il file non esiste, crearlo. aggiungere qualcosa al classpath utilizzare la seguente sintassi:

CLASSPATH=/yourdir/ 

per Windows: setenv.bat

0

Se la vostra intenzione di mantenere il file al di fuori della guerra o l'orecchio, in modo che è possibile aggiornare senza compling e creando di nuovo la guerra. basta modificare il file e riavviare il server. Tienilo in una cartella esterna, anche al di fuori del server e dai un percorso assoluto in primavera.

<bean id="propertyConfigurer3" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
<property name="ignoreUnresolvablePlaceholders" value="true"/> 
<property name="locations"> 
    <list> 
     <value>classpath:test.properties</value> 
     <value>**file:/someexteranal/dir/test1.properties**</value> 
    </list> 
</property> 

La cosa migliore, si può dare questo/percorso con radici in UNIX/Linux e lo stesso funzionerà in finestre, solo bisogno di mantenere file nella directory in cui è installato il server. Come il tuo tomcat nell'unità D, quindi tienilo in D: \ someexternal \ dir e il codice sopra funzionerà bene anche lì

2

Ok .. finalmente risolto .. Lo stavo facendo tutto questo tempo ... era il mio IDE che ha causato il problema. L'IDE non ha raccolto le modifiche nel file catalina.properties. Ho dovuto eliminare la configurazione del server nel mio IDE e riconfigurarlo.

questi collegamenti sono stati utili in generale:

Aggiunta di una directory al classpath Tomcat

http://www.mulesoft.com/tomcat-classpath#solutions

Problemi correlati