在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。
他们是两件不同的东西吗?他们中的任何一个都过时了吗?
答案 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中的程序集描述符可用于组装工件,但不能在其他模块或项目中重用。