Tomcat + Spring и переменные среды - PullRequest
6 голосов
/ 26 октября 2011

В файле Spring у меня есть:

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

переменная $ {env} определена в профиле maven. Но когда я запускаю из затмения приложение в Tomcat 6 (опубликовано), оно не выглядит в Maven. Так как же мне установить переменную для Tomcat?

Спасибо

Randomize

Ответы [ 3 ]

6 голосов
/ 26 октября 2011

Добавление системной переменной в Eclipse: перейдите в «Выполнить» -> «Выполнить конфигурации» -> «Tomcat», выберите вкладку «Аргументы» и добавьте в аргументы ВМ -Denv=blabla

5 голосов
/ 26 октября 2011

Чтобы определить переменную in в коте context.xml, которую можно использовать весной, добавьте эту строку в правильный контекст в context.xml.

<Parameter name="env" value="ABCDEFG"  override="false"/>
2 голосов
/ 21 марта 2015

Решение Tarlog может решить вашу проблему, но только в Eclipse. Если вы удалили определение сервера из Eclipse, вы потеряли определение, и вам нужно добавлять его снова каждый раз, когда вы меняете IDE или удаляете определение сервера.

Так лучше создать файл оболочки или bat (например, runServer.sh/.bat) в соответствии с вашей средой и добавить этот параметр в переменную JAVA_OPTS, чтобы эта переменная вызывалась при запуске catalina.sh/.bat (startup.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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...