Подтвердить что ты не робот

Возможно ли разбить файлы maven morm?

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

4b9b3361

Ответ 1

Если вы используете Maven 2, вы можете просто создать несколько родительских уровней. Первый pom.xml (pom1) определит основные свойства (например, хранилища, например). Второй pom.xml (pom2), который имеет pom1 как <parent>, определит отчетную информацию. И так далее... Наконец, "реальный" pom.xml наследует от pom2 и будет определять его собственные свойства.

Вы можете создать столько родительских уровней, сколько хотите (конечно, будет сложнее поддерживать, если у вас 5 родительских уровней).

Обратите внимание, что Maven 3 говорил о введении концепции mixa которая позволит вам фрагментировать ваш pom.xml в несколько файлов, но это выглядит как , который не происходит сейчас, пока maven 4

Ответ 2

Не совсем. Вы не можете включать разделы отчетов и сборки, определенные в меньших POM, вы можете наследовать их от родительского POM.
Если ваш POM становится слишком большим, возможно (и рекомендуется) организовать ваши зависимости в логические группы. Например, для проекта GWT вы можете создать новый POM для всей вашей персистенции, связанной с GWT, следующим образом:

<project>
  <groupId>org.yourcompany</groupId>
  <artifactId>gwt-dependencies</artifactId>
  <version>1.0</version>
  <packaging>pom</packaging>
  <dependencies>
    <dependency>
      <groupId>com.google</groupId>
      <artifactId>gwt-user</artifactId>
      <version>2.0.1</version>
    </dependency>
    <dependency>
      <groupId>org.extjs</groupId>
      <artifactId>gxt</artifactId>
      <version>2.1.0</version>
    </dependency>
    <!-- etc -->
  </dependencies>
</project>

Эти группы затем могут быть включены в ваш основной POM.

Ответ 3

Совсем недавно появилась возможность использовать Maven Tiles. Плагин позволит вам выполнять операции микширования, не предоставленные Maven 3. Однако для каждого mixin требуется выпущенный артефакт плитки.