Я только что перешел с Maven2 на Maven3, и я могу собрать каждый модуль отдельно или все модули за один раз, вызвав mvn clean install
. Однако в Maven2, поскольку у нас есть многомодульный корпоративный проект, мы строим несколько ушей, и каждое ухо строится как свой собственный модуль с собственным дочерним модулем.
Чтобы построить отдельное ухо с зависимостями, приведенная ниже команда отлично работает в Maven2, но не в Maven3. Позвольте мне объяснить проблему в Maven3 чуть позже.
mvn -pl ear_module
-rf first_dependent_module
-am чистая установка
В Maven2, когда реактор перечисляет порядок сборки, я вижу
- first_dependent_module
- second_dependent_module
- ear_module
В конце дня мой ушной модуль также является частью реактора, как и должно быть. Причина, по которой мы называем -rf
, заключается в том, что мы не хотим удалять папку target
в главном ${project.basedir}
(поэтому не удаляйте вывод, созданный в target
, из сборки других ушных модулей).
Однако с Maven3 это все, что я вижу, когда реактор перечисляет порядок сборки:
- first_dependent_module
- second_dependent_module
Maven3 полностью игнорирует аргумент (ear_module), установленный в -pl
флаг, который также будет создан после того, как его зависимые объекты были созданы. Не уверен, что мне здесь не хватает. Любая помощь / советы будут с благодарностью.
P.S: Сборка, которую я делаю, похожа на приведенную ниже ....
Сборка определенного модуля в многомодульном проекте
Спасибо
SK