maven-assembly-plugin:如何使用 appendAssemblyId
我有一个多模块Maven项目,在一个模块中,我想在构建期间创建两个工件:
- 主要工件是其他一些模块将依赖的jar库。
- 执行某些帮助程序函数的可执行 jar 文件。没有其他模块依赖于此,它仅用于用户在某些情况下手动运行它。
以下是我用来配置插件的代码:maven-assembly-plugin
<plugin>
<artifactId>
maven-assembly-plugin
</artifactId>
<version>2.4</version>
<executions>
<execution>
<id>dist-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
<configuration>
<finalName>bso</finalName>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<finalName>helper-${project.version}</finalName>
<appendAssemblyId>false</appendAssemblyId>
<archive>
<manifest>
<mainClass>HelperMain<mainClass>
</manifest>
</archive>
</configuration>
</execution>
</executions>
</plugin>
我正在设置,因为否则将被附加到最终名称,我认为不需要它。省略它可以获得更清晰,更易于使用的文件名。appendAssemblyId
false
-jar-with-dependencies
当我运行时,我收到以下警告:mvn integration-test
[警告]配置选项:“appendAssemblyId”设置为 false,并且缺少“分类器”。而不是附加程序集文件:[...]/target/helper-5.0.0-SNAPSHOT.jar,它将成为主项目工件的文件。
注意:如果为此项目提供了多个描述符或描述符格式,则此文件的值将是非确定性的!
[警告]替换预先存在的项目主工件文件:[...]/target/my.module-5.0.0-SNAPSHOT.jar程序集文件:[...]/target/helper-5.0.0-SNAPSHOT.jar
有两件事让我很恼火:
尽管警告声称它将用helper-5.0.0-SNAPSHOT替换my.module-5.0.0-SNAPSHOT.jar.jar但它实际上并没有这样做,并且当构建完成后,两个文件仍然具有不同的大小。
为什么会出现有关替换工件的警告?
似乎已被弃用,为什么警告要求我使用它?
classifier