Лучший способ скопировать многомодульный проект в Maven - PullRequest
1 голос
/ 21 января 2011

У меня есть проект maven, в котором я хотел бы распаковать все дочерние модули проекта mutli module. Кто-нибудь знает, если лучший способ подойти к этому? В этом проекте более 100 модулей, и я стараюсь не копировать всю эту информацию куда-либо еще.

1 Ответ

1 голос
/ 22 января 2011

Сначала вам нужно будет создать файл pom.xml, в котором все проекты будут иметь зависимости.

  1. Если есть один подмодуль, который имеет все остальные подмодули как зависимости, тогда вам повезло, просто добавьте зависимость к этому подмодулю.
  2. Если нет, вам придется написать скрипт или программу, которая собирает идентификаторы групп, идентификаторы артефактов, версии (и упаковки) всех подмодулей. И создает файл pom.xml со всеми их зависимостями.

Затем в этом проекте вы можете использовать dependency:unpack-dependencies для распаковки проектов:

<plugin>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-dependency-plugin</artifactId>
  <executions>
     <execution>
        <id>unpack-projects</id>
        <phase>generate-sources</phase>
        <goals>
          <goal>unpack-dependencies</goal>
        </goals>
        <configuration>
          <includeGroupIds>com.basegroupId*</includeGroupIds>
        </configuration>
     </execution>
  </executions>
</plugin>

(Установите includeGroupIds для шаблона, который соответствует всем подмодулям groupIds)

Теперь вам просто нужно позвонить

mvn generate-sources

(или любой другой этап, который вы настраиваете при выполнении)

...