2011-10-26 11 views
5

のTomcat +春と環境変数私が持っている春のファイルで

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

$ {ENV}変数は、Mavenのプロファイルで定義されています。 しかし、私はtomcat 6(公開されている)のアプリケーションをEclipseから実行すると、mavenでは見えません。どうすればTomcatの変数を設定できますか?春に使用することができますTomcatのcontext.xmlで変数を定義するには

ランダム化

+0

http://stackoverflow.com/questions/3965446/how-to-read-system -environment-variable-in-spring-applicationcontext –

答えて

6

Eclipseでシステム変数を追加します。実行するために行く - > [実行構成] - > [Tomcatが引数]タブを選択し、-Denv=blabla

4

おかげでcontext.xmlで右コンテキストに次の行を追加します。

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

override:\t 同じパラメータ名に対してを必要としない場合はfalseに設定します。 Webアプリケーションデプロイメント記述子を使用して、ここで指定された値を上書きします。デフォルトでは、上書きが許可されています。 –

1

Tarlogソリューションはなく、唯一の日食中にあなたの問題を解決することができVM引数に追加 Eclipseからサーバー定義を削除すると、定義が失われ、IDEを変更するかサーバー定義を削除するたびに再度定義を追加する必要があります。

あなたの環境に応じてシェルまたはbatファイル(runServer.sh/.batなど)を作成し、このパラメータをJAVA_OPTS変数に追加すると、catalina.sh/.batが実行されているときにこの変数が呼び出されます。 sh/.batはカタリナスクリプトと呼ばれています)。このアプローチは、ローカル、テスト、およびプロダクト環境で使用できます。

のWindows:runServer.bat

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

のLinux:runServer.sh

export JAVA_OPTS="-Dvariable=value" 
tomcat/bin/startup.sh 
関連する問題