2013-08-01 6 views
5

Как я могу сделать переменную среды доступной для причала, используя плагин gradle? Некоторым из кода, который он запускает в сервлете, требуется установить определенную переменную среды, но я не могу найти хороший способ отправить ее в процесс причала, как вы можете, для задачи JavaExec (с помощью метода environment).Отправка переменной окружения в причал с помощью jettyRun в Gradle

Также приемлемо было бы имущество. Например, если бы я запускал некоторую java, я бы включил -Dproperty.name=blah для отправки свойства property.name.

Мы можем сделать это для задач Test и JavaExec ... можем ли мы сделать это для задачи JettyRun?

ответ

3

Контейнер, управляемый плагином Jetty, запускается в процессе Gradle, поэтому вам необходимо установить переменную окружения или системное свойство для этого процесса.

Плагин Jetty также довольно устарел и ограничен, частично по той причине, что он работает внутри процесса Gradle. Я рекомендую вместо этого дать arquillian-gradle-plugin. Мы считаем, что этот плагин открывает путь к лучшей поддержке веб-контейнеров Gradle.

+0

Вы имеете в виду только 'def environmentVar = 'blah'' или что-то еще? – Depressio

+0

Ну, это работает, если я устанавливаю свойство в GRADLE_OPTS (через 'GRADLE_OPTS =" - Dproperty.name = blah "'), но мне нужно что-то * немного * более детерминированное, чем это. Есть ли способ сделать это в сценарии градации? – Depressio

+3

Извините за уведомление о спаме ... добавлено 'doFirst {System.setProperty (" property.name "," blah ")}' to 'jettyRun'. – Depressio

Смежные вопросы