在 Maven 中存储程序集文件的正确位置是什么?
What's the correct place to store assembly files in Maven?
在 Maven 的汇编指南 (https://maven.apache.org/guides/mini/guide-assemblies.html) 中,指出:
You'll notice that the assembly descriptor is located in
${project.basedir}/src/assembly which is the standard location for
assembly descriptors.
但是在 Maven 程序集插件页面 (https://maven.apache.org/plugins/maven-assembly-plugin/examples/sharing-descriptors.html) 中它说:
Note: Your assembly descriptors must be in the directory
/src/main/resources/assemblies to be available to the Assembly Plugin.
它们是两个不同的东西吗?它们中的任何一个已经过时了吗?
这是使用程序集和将它们提供给其他项目的区别。
将程序集描述符放入 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 中的程序集描述符可用于 assemble 个工件,但不能在其他模块或项目中重复使用。
在 Maven 的汇编指南 (https://maven.apache.org/guides/mini/guide-assemblies.html) 中,指出:
You'll notice that the assembly descriptor is located in ${project.basedir}/src/assembly which is the standard location for assembly descriptors.
但是在 Maven 程序集插件页面 (https://maven.apache.org/plugins/maven-assembly-plugin/examples/sharing-descriptors.html) 中它说:
Note: Your assembly descriptors must be in the directory /src/main/resources/assemblies to be available to the Assembly Plugin.
它们是两个不同的东西吗?它们中的任何一个已经过时了吗?
这是使用程序集和将它们提供给其他项目的区别。
将程序集描述符放入 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 中的程序集描述符可用于 assemble 个工件,但不能在其他模块或项目中重复使用。