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

时间:2009-07-31 10:42:08

标签: maven-2 assemblies

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

1 个答案:

答案 0 :(得分:2)

使用最新版本的程序集插件(2.2-beta-2),您可以使用[共享描述符] [1]。在单独项目的 src / main / resources / assemblies 文件夹中定义描述符,然后安装或部署它。

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

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

我错误地警告引用文档中存在错误,并且引用路径需要与src / main资源下面的相对路径匹配,即assemblies / myassembly.xml 程序集。 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>
相关问题