Ввести порядок сборки для мультипроекта в Maven

У меня есть мульти проект в Maven, как это:

paren-project
  -> plugin-project
  -> testbed-project

Theplugin project генерирует JAR, который вручную копируется в определенный подкаталогtestbed (используя любой встроенный скрипт вроде Заводной илимураве). Важный момент: я не хочу, чтобы плагин JAR находился в пути к класса

Но я не могу найти решение заставить проект плагина быть собранным ДО проекта тестового стенда. Если я устанавливаю проект плагина как зависимость от тестового стенда, он добавляется в classpath.

Любое решение, или я должен перейти на систему сборки, такую как Gradle, Плющ илимураве ?

Ответы на вопрос(2)

Вы можете добавить зависимость следующим образом:

<dependency>
  <groupId>group</groupId> 
  <artifactId>artifact</artifactId> 
  <optional>true</optional> 
</dependency>

Таким образом, зависимость не будет включена в путь к классам.

Подробнее о Опциональная зависимость

 Kartoch07 июл. 2011 г., 08:25
Опция о транзитивных отношениях, бесполезна для этой проблемы.
 otaviodecampos06 нояб. 2016 г., 02:31
Kartoch, согласно документации, необязательная зависимость не включена в путь к классам, но меняет классификацию реактора. тогда решение действительно.
 Rob McFeely27 июн. 2012 г., 12:42
Это сработало для меня с немного другой проблемой. У меня были интеграционные тесты в одном проекте, которые выводили ресурсы для использования в тестах другим. я определил зависимость только для проверки, чтобы включить войну в сборку. Для этого это отлично сработало.
Решение Вопроса

http: //maven.apache.org/guides/mini/guide-multiple-modules.htm

Сортировка реактора

Because modules within a multi-module build can depend on each other, 
it is important that The reactor sorts all the projects in a way that 
guarantees any project is built before it is required.

The following relationships are honoured when sorting projects:
зависимость проекта от другого модуля в сборкеplugin объявление, где плагин - это другие модули в сборке зависимость плагина от другого модуля в сборке объявление расширения сборки для другого модуля в сборке порядок, объявленный в элементе модулей (если не применяется другое правило)

Обратите внимание, что используются только «экземпляры» ссылок - элементы dependencyManagement и pluginManagement не вызовут изменения порядка сортировки реактора

 Kartoch07 июл. 2011 г., 08:27
Спасибо, я не объявляю никаких отношений и преуспел в создании плагинов перед испытательным стендом, объявив их перед испытательным модулем.

Ваш ответ на вопрос