Можно ли разбить файлы Maven Pom? - PullRequest
25 голосов
/ 16 февраля 2010

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

Ответы [ 3 ]

16 голосов
/ 16 февраля 2010

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

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

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

5 голосов
/ 16 февраля 2010

Не совсем. Вы не можете включать разделы отчетов и построения, определенные в меньших 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.

1 голос
/ 12 мая 2016

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

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