在maven中复制多模块项目的最佳方法

时间:2011-01-21 19:30:38

标签: maven-2 maven

我有一个maven项目,我想在其中解压缩mutli模块项目的所有子模块。有谁知道最好的方法来解决这个问题?这个项目有100多个模块,我试图避免在其他地方复制所有这些信息。

1 个答案:

答案 0 :(得分:1)

首先,您需要创建一个包含所有项目作为依赖项的pom.xml文件。

  1. 如果有一个子模块有 所有其他子模块 依赖项,那么你很幸运,只需在该子模块中添加一个依赖项。
  2. 如果没有,您将必须编写一个脚本或程序来收集所有子模块的groupIds,artifactIds,version(和packagings)。并创建一个pom.xml,将所有这些作为依赖项。
  3. 然后,在此项目中,您可以使用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
    

    (或您在执行中配置的任何其他阶段)