Устанавливать порядок сборки модулей

У меня есть проект Maven с модулями module1, module2, module3 и так далее. Я определил эти модули в pom.xml родительского элемента, который выглядит следующим образом

  <modules>
    <module>module1</module>
    <module>module2</module>
    <module>module3</module>
        .
        .
    <module>module56</module>
  </modules>

по умолчанию "maven-реактор" сортирует модули, применяя правила, описанные в Руководстве по работе с несколькими модулями, но я не хочу, чтобы maven сортировал модули, а используйте порядок, указанный в родительском pom.xml.

2 ответа

Если вы хотите отсортировать порядок модулей самостоятельно, вы не поняли ключевую концепцию этого порядка.

Упорядочение выполняется на основе зависимостей между модулями, что означает, что один модуль должен быть собран перед другим модулем, который использует его в качестве зависимости.

Вы хотели бы сделать что-то вручную, чего не следует делать. Пусть инструмент сделает всю работу за вас.

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

Без какого-либо тестирования, но только по описаниям параметров командной строки http://books.sonatype.com/mvnref-book/reference/running-sect-options.html я бы сказал, что это вообще невозможно. Вы можете игнорировать определение модуля (уже не то, что вы хотите), используя -r параметр, за которым следуют проекты Maven, но которые не влияют на результирующий (логически логичный) порядок сборки из реактора

На мой взгляд, это тоже не имеет смысла, поскольку в результате порядок сборки именно поэтому большинство людей используют Maven - или, по крайней мере, очень важную ключевую функцию в контексте "управления зависимостями приложений"). С точки зрения Maven, я бы приспособил свою сборку для работы с Maven, а не пытался приспособить Maven к вашим требованиям (возможно, Maven - тоже не тот инструмент для сборки, который вам подходит).

Другие вопросы по тегам