gar*_*ryM 7 maven maven-assembly-plugin
我有一个生成 jar 的 Maven 项目,但没有附加 maven-assemble-plugin 的appendAssemblyId。
如何让 Maven 停止发出警告:“配置选项‘appendAssemblyId’设置为 false。” ?
编辑:我被要求包含 pom 文件,但我不允许这样做。我包括了导致错误的 maven- assembly-plugin 块。
<plugin>
<artifactId>maven-assembly-plugin</artifactId>
<configuration>
<archive>
<manifest>
<mainClass>some.company.hello</mainClass>
</manifest>
</archive>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
<!-- prevent appending <descriptorRef> "jar-with-dependencies" to final jar name -->
<appendAssemblyId>false</appendAssemblyId>
</configuration>
<executions>
<execution>
<!-- For inheritance merges -->
<id>make-assembly</id>
<!-- bind to the packaging phase -->
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
Run Code Online (Sandbox Code Playgroud)
这个答案解释了技术细节,但我认为关键是你在问题中提到的短语。
我有一个生成 jar 的 Maven 项目,但没有附加 maven-assemble-plugin 的appendAssemblyId。
如果我理解正确的话,我认为这意味着在你的 pom 文件中,你有一个条目说:
<packaging>jar</packaging>
Run Code Online (Sandbox Code Playgroud)
这样做的作用是创建一个与 maven- assembly-plugin 的输出竞争的 jar 文件,并且 maven- assembly-plugin 胜出,从而导致只有一个 jar 文件。事实上,如果您设置appendAssemblyId回true,您将在输出目录中得到两个文件 -<artifact>.jar和<artifact>-jar-with-dependencies.jar。
因此,首先,您应该删除<packaging>我上面提到的标签,并将以下内容添加到<executions>您的 pom 文件的部分,这样就不会有两个冲突/竞争的 jar 文件(并且警告将会消失):
<execution>
<id>default-jar</id>
<phase>none</phase>
</execution>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2566 次 |
| 最近记录: |