Можно ли включить несколько небольших файлов pom для создания родительского файла pom. (например, я хотел бы разделить отчетность, построить разделы в свои собственные помпы и включить их в родительский pom) для эффективного управления ими.
Возможно ли разбить файлы maven morm?
Ответ 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 требуется выпущенный артефакт плитки.