Вопрос

У меня есть следующий исходный макет:

.
├── pom.xml
├── modules (has pom)
│   ├── module1 (has pom) 
│   └── module2 (has pom)
│   └── moduleN (has pom)
└── webapp1 (has pom)
└── webapp2 (has pom)

WebApp1 и WebApp2 зависит от всех модулей (модули, которые являются DAO, Services и т. Д.). На данный момент я строю все от корня и mvn package дает мне два файла войны.

Как создать только WebApp1 или WebApp2?

Если я cd в webapp1 и запустить mvn package Он говорит, что не может скачать modulex.jar (это с чистым репозиторием). Наверняка Мавена должна быть в состоянии вывести, что эти модули должны быть построены в первую очередь как зависимости?

Это было полезно?

Решение

Как создать только WebApp1 или WebApp2?

Использовать «Усовершенствованные варианты реактора». Отказ От корня:

mvn install -pl webapp1 -am

Это говорит Maven установить webapp1 и проекты, на которых webapp1 зависит (в правильном порядке).

Помощь (mvn -h) Документы эти команды такие:

-PL, --Projects Создание указанных проектов реактора вместо всех проектов -AM, --also-make Если указан список проектов, также создайте проекты, необходимые по списку

Обратите внимание, что вам нужно вызвать install, зависимости всегда разрешаются через локальный репозиторий (так что вам нужно install их). Я был неправ, звонив package работает (я не знаю, как / почему, но это делает).

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top