2011-10-26 21 views
5

W pliku wiosennej mam:Tomcat + sprężyna i zmienne środowiskowe

<bean id="propertyConfigurer" class="org.myapp.MyConfigurator"> 
     <property name="locations"> 
     <list> 
         <value>classpath:configuration-${env}.properties</value> 
     </list> 
    </property> 
</bean> 

zmienne $ {ENV} zmienna jest zdefiniowana w profilu Maven jest. Ale kiedy uciekam od zaćmienia aplikacji w tomcat 6 (opublikowany) nie wygląda na maven. Jak więc ustawić zmienną dla Tomcat?

Dzięki

Randomize

+0

http://stackoverflow.com/questions/3965446/how-to-read-system -środowisko-zmienne-w-spring-applicationcontext –

Odpowiedz

6

dodawania zmiennej systemowej w Eclipse: Go to Run -> Run Konfiguracje -> Argumenty Tomcat Wybierz zakładkę i dodać do argumentów VM -Denv=blabla

4

Aby zdefiniować zmienną w w tomcat context.xml który może być używany na wiosnę dodać ten wiersz do prawego kontekstu context.xml.

<Parameter name="env" value="ABCDEFG" override="false"/> 
+0

przesłonięcie: \t Ustaw na false, jeśli nie chcesz dla tej samej nazwy parametru, znajdującej się w deskryptor wdrażania aplikacji WWW, aby zastąpić podaną tu wartość. Domyślnie nadpisania są dozwolone. –

1

rozwiązanie Tarlog można rozwiązać problemu, ale tylko wewnątrz zaćmienie , jeśli usuniesz definicję serwera z Eclipse, utracisz definicję i musisz dodać ją ponownie za każdym razem, gdy zmienisz IDE lub usuniesz definicję serwera.

Lepszy sposób tworzenia pliku powłoki lub bat (takiego jak runServer.sh/.bat) w zależności od środowiska i dodaj ten parametr do zmiennej JAVA_OPTS, aby ta zmienna została wywołana, gdy uruchomiony jest plik catalina.sh/.bat (uruchomienie. sh/.bat zwany w nim skryptem catalina). Możesz użyć tego podejścia w swoim środowisku lokalnym, testowym i prod.

Windows: runServer.bat

set JAVA_OPTS="-Dvariable=value" 
tomcat/bin/startup.bat 

Linux: runServer.sh

export JAVA_OPTS="-Dvariable=value" 
tomcat/bin/startup.sh 
Powiązane problemy