Каков наиболее удобный способ сборки пакета для разных сред? - PullRequest
2 голосов
/ 14 ноября 2011

У меня есть проект maven, в настройках которого содержатся файлы разных настроек для среды разработки и разработки.Правильно ли, что наиболее распространенный способ - использовать разные профили maven (по умолчанию, dev), которые будут упаковывать разные свойства в процессе сборки?Есть ли другой способ?

Ответы [ 3 ]

4 голосов
/ 14 ноября 2011

Да, именно для этого и предназначены профили.

Вам даже не нужны разные файлы свойств, вы можете иметь один файл свойств, который фильтруется с разными свойствами от каждогоprofile.

1 голос
/ 14 ноября 2011

Проблема с профилями заключается в том, что вам нужно запускать сборку столько раз, сколько профилей.Это означает, что если у вас есть пять профилей (dev, pre-test, pre-live, qa, prod), вам нужно запустить сборку пять раз.Я бы предложил пойти другим путем и в результате сборки направить те пять артефактов (обычно войны и т. Д.), Которые были настроены соответствующим образом.Это может быть достигнуто с помощью созданного мной примера , который облегчает жизнь.Пример выдаст

0 голосов
/ 14 ноября 2011

Существует другой подход для помещения зависимостей среды в среду, чтобы один артефакт создавался из проекта maven, а затем предоставлял свойства во время развертывания.В этом случае maven ничего не знает о конкретной среде.

Например, вы можете поместить что-то -Dmy.config.file=/path/to/env/my.properties в командную строку Java или с помощью JNDI, или чтения свойств из базы данных и т. Д.1005 * Это более жизнеспособный подход, если у вас много разных сред или вы ничего о них не знаете (например, распространяете приложение .war для конечных пользователей).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...