什么是在Maven中存储汇编文件的正确位置?

时间:2016-04-08 23:04:51

标签: java maven maven-assembly-plugin

在Maven的汇编指南(https://maven.apache.org/guides/mini/guide-assemblies.html)中,声明:

  

您会注意到程序集描述符位于   $ {project.basedir} / src / assembly这是标准位置   汇编描述符。

但是在maven程序集插件页面(https://maven.apache.org/plugins/maven-assembly-plugin/examples/sharing-descriptors.html)中,它说:

  

注意:您的程序集描述符必须位于目录中   / src / main / resources / assembly可用于Assembly Plugin。

他们是两件不同的东西吗?他们中的任何一个都过时了吗?

1 个答案:

答案 0 :(得分:7)

使用程序集并使其可用于其他项目之间存在差异。

将汇编描述符放在src/main/resources/assemblies中的想法是让它们可用于其他模块或项目。您可以使用my-assembly-descriptor中的一个或多个程序集描述符创建一个项目,例如src/main/resources/assemblies。然后,在您要使用描述符的另一个项目中,配置程序集插件以使用my-assembly-descriptor作为依赖项。

<plugin>
    <artifactId>maven-assembly-plugin</artifactId>
    <version>2.6</version>
    <dependencies>
      <dependency>
        <groupId>your.group.id</groupId>
        <artifactId>my-assembly-descriptor</artifactId>
        <version>1.0-SNAPSHOT</version>
      </dependency>
    </dependencies>
    <executions>
      ...
    </executions>
  </plugin>

程序集插件在其类路径中找到您的描述符并可以使用它们。

放置在src / assembly中的程序集描述符可用于组装工件,但不能在其他模块或项目中重用。