Как передать свойства системы Java в контейнер maven-cargo

Я готовлю веб-проект maven2 для непрерывной интеграции. Я использую плагин maven Cargo для автоматического развертывания WAR на Tomcat6x перед запуском интеграционных тестов.

Мой код зависит от некоторых системных свойств, которые устанавливаются с помощью MAVEN_OPTS=-Dfoo=bar. К сожалению, эти свойства отсутствуют при развертывании приложения на Tomcat:

System.getProperty("foo"); // null, when deployed to container by maven-cargo

Как я могу передать эти свойства Tomcat?


person Olvagor    schedule 28.01.2009    source источник


Ответы (2)


Вы должны иметь возможность сделать это, используя тег systemProperties в определении контейнера плагина:

      <container>
        [...]
      <systemProperties>
        <MAVEN_OPTS>-Dfoo=bar</MAVEN_OPTS>
      </systemProperties>
    </container>

Или вы можете установить это в файле setenv.sh (в Linux) в вашем каталоге $CATALINA_HOME/bin/. Если этот файл не существует, вы должны создать его и добавить следующую строку:

MAVEN_OPTS=-Dfoo=bar

Надеюсь это поможет.

person maskefjes    schedule 29.01.2009
comment
Ах, спасибо! Я пытался использовать ‹systemProperties›, но я, должно быть, сделал что-то не так. Чтобы установить foo=bar, XML выглядит следующим образом: ‹container› [...] ‹systemProperties› ‹foo›bar‹/bar› ‹/systemProperties› ‹/container› - person Olvagor; 29.01.2009

Вы должны иметь возможность сделать это, используя тег systemProperties в определении контейнера плагина:

<container>
  <systemProperties>
    <foo>bar</foo>
  </systemProperties>
</container>

это эквивалентно передаче -Dfoo=bar в командной строке или в другом параметре.

person user787242    schedule 09.06.2011