Настройка свойств приложения при развертывании с помощью maven - PullRequest
0 голосов
/ 02 декабря 2018

Я хотел бы развернуть приложение Java дважды на одном сервере Tomcat, каждый раз с различными свойствами среды.

Я хотел бы найти способ, подобный

mvn tomcat7:deploy -Denvironment=local

Я неНе забывайте использовать другой плагин maven.

Не нужно менять файлы после развертывания.Это как-то возможно?Спасибо за ответ.

Ответы [ 2 ]

0 голосов
/ 04 декабря 2018

Я использовал маленький обходной путь.Я создал различные профили, которые я использую для обновления свойства приложения.

пример: в моем POM у меня есть:

<profiles>
    <profile>
        <id>local</id>
        <properties>
            <environment>local</environment>
            ....
        </properties>
    </profile>

и в файле application.property у меня есть

environment=@environment@

(Это @ правильно!)

Таким образом, я могу развернуть свое приложение с определенной средой с помощью команды

mvn -P local tomcat7:deploy 

и использовать переменную среды где-либо еще как $ {environment}

0 голосов
/ 03 декабря 2018

У вас может быть файл конфигурации (например, application.properties), для которого вы включаете фильтрацию ресурсов .Затем вы можете параметризовать значения в этом файле конфигурации и передать разные значения параметров для каждого из развертываний (-Dkey1=value1 -Dkey2=value2).

Вы можете передать разные значения параметров в командной строке, или вы можетесклейте их в различных профилях и просто активируйте соответствующий профиль из командной строки (-Psecond-deployment).

То, что кажется немного неудачным из-за предложенного подхода в вашем вопросе:В основном, Maven - это инструмент для сборки, предназначенный для создания согласованного артефакта из сборки.Это больше не относится к предложенному подходу в вашем вопросе.Если это веб-приложение, которое никогда не используется как зависимость от другого модуля, это может подойти.Но просто подчеркнуть, что различные конфигурации развертывания - это проблема развертывания, а не проблема build .

...