Сборка и запуск мультимодульного Maven - PullRequest
4 голосов
/ 19 сентября 2011

В одном из наших проектов мы переключили систему сборки с Ant на Maven. У проекта есть много соответствующих модулей, поэтому мы решили сделать многомодульный проект Maven. Мы используем NetBeans для кодирования и создания / запуска / отладки программного обеспечения.

Если я щелкну правой кнопкой мыши по проекту супер POM, я смогу использовать clean и build, который фактически перестраивает все подмодули в порядке, определенном в супер POM. Я также могу запустить код из меню подпроекта, который содержит основной код, когда зависимые модули были скомпилированы и установлены в локальный репозиторий ранее.

Мне интересно, возможно ли будет запустить проект из меню Super POM? Это потребует запуска определенного подмодуля, но было бы неплохо автоматически собрать все устаревшие подмодули. (Полагаю, было бы лучше, если бы он запускался проектом работающего артефакта, а не родительским проектом). Предыдущая система Ant делала это при запуске. Теперь мы должны сделать это вручную с Maven.

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

Ответы [ 2 ]

1 голос
/ 19 сентября 2011

как правило, вы должны выполнить Run Project из дочернего проекта окончательной сборки .. (jar / war / ..), чтобы разрешить сборку зависимых проектов перед запуском, либо вручную выполнить Build с зависимостями от затронутых проектов, либо настроитьсоответственно, действие «Выполнить проект» в панели свойств проекта, см. скриншот http://screencast.com/t/fRAgLdj6

0 голосов
/ 19 сентября 2011

Итак, сначала немного контекста к моему ответу.Мы используем фазы предварительного тестирования, интеграционного тестирования и тестирования после интеграции, чтобы запустить наше приложение, запустить интеграционные тесты и выключить его соответственно.Это обычный шаблон для maven, хотя для того, чтобы правильные плагины работали в нужных фазах, требуется определенная работа (и особенности того, как это сделать, варьируются от приложения к приложению).

Учитывая этот фон, этодовольно просто запустить mvn pre-integration-test, чтобы собрать все, запустить приложение, а затем оставить его запущенным (или, альтернативно, просто вручную добавить <defaultGoal>pre-integration-test</defaultGoal> в раздел сборки).Это хорошо вписывается в maven шаблон.

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