Maven 2 如何在多个项目中使用Maven程序集?

Maven 2 如何在多个项目中使用Maven程序集?,maven-2,assemblies,Maven 2,Assemblies,我有一个Maven程序集,我想在多个项目中使用它。如何在不硬编码路径的情况下重用它?对于最新版本的汇编插件(2.2-beta-2),您可以使用[shared descriptor][1]。在单独项目的src/main/resources/assemblies文件夹中定义描述符,并安装或部署它 在要使用描述符的项目中,在程序集插件配置中定义对描述符项目的依赖关系,然后引用程序集 更新:有一个特殊规则检查程序集目录。因此,只要使用magic assemblies目录名,/assemblies/mya

我有一个Maven程序集,我想在多个项目中使用它。如何在不硬编码路径的情况下重用它?

对于最新版本的汇编插件(2.2-beta-2),您可以使用[shared descriptor][1]。在单独项目的src/main/resources/assemblies文件夹中定义描述符,并安装或部署它

在要使用描述符的项目中,在程序集插件配置中定义对描述符项目的依赖关系,然后引用程序集

更新:有一个特殊规则检查程序集目录。因此,只要使用magic assemblies目录名,/assemblies/myassembly.xml或/myassembly.xml都可以工作。对于其他目录名,需要相对于资源目录的完整路径

我错误地警告说,引用的文档中存在错误,引用路径需要与src/main resources下面的相对路径匹配,即assemblies/myassembly.xmlnotassembly.xml

使用共享描述符的项目应具有以下配置:

<build>
  ...
  <plugins>
    ...
    <plugin>
      <artifactId>maven-assembly-plugin</artifactId>
      <version>2.2-beta-2</version>
      <!--declare plugin has a dependency on the descriptor project -->
      <dependencies>
        <dependency>
          <groupId>your.group.id</groupId>
          <artifactId>my-assembly-descriptor</artifactId>
          <version>1.0-SNAPSHOT</version>
        </dependency>
      </dependencies>
      <executions>
        <execution>
          <id>make-assembly</id>
          <phase>package</phase>
          <goals>
            <goal>single</goal>
          </goals>
          <configuration>
            <!-- This is where we use our shared assembly descriptor -->
            <descriptors>
              <descriptor>assemblies/myassembly.xml</descriptor>
            </descriptors>
          </configuration>
        </execution>
      </executions>
    </plugin>
  </plugins>
</build>

...
...
maven汇编插件
2.2-β-2
您的.group.id
我的程序集描述符
1.0-快照
组装
包裹
单一的
assemblies/myassembly.xml