为maven shade插件禁用其他JAR

为maven shade插件禁用其他JAR,maven,maven-shade-plugin,Maven,Maven Shade Plugin,我正在使用maven shade插件创建一个可执行的jar。 我希望插件在目标目录中创建一个jar(foo.jar)。 不过,它还将创建另外两个jar:original foo.jar和foo shaded.jar 为什么要创建这些文件?如何禁用此行为 (我们有另一个使用该插件的项目,其中没有创建这些文件。因此,我非常确定可以禁用这些文件,但我看不出有什么区别。)您可以查看文档,该文档将为您提供一个选项shadedArtifactAttached,该选项将控制您所描述的行为 ... org.a

我正在使用maven shade插件创建一个可执行的jar。 我希望插件在目标目录中创建一个jar(
foo.jar
)。 不过,它还将创建另外两个jar:
original foo.jar
foo shaded.jar

为什么要创建这些文件?如何禁用此行为


(我们有另一个使用该插件的项目,其中没有创建这些文件。因此,我非常确定可以禁用这些文件,但我看不出有什么区别。)

您可以查看文档,该文档将为您提供一个选项
shadedArtifactAttached
,该选项将控制您所描述的行为


...
org.apache.maven.plugins
maven阴影插件
2.3
阴凉处
假的
...

使用outputFile的插件maven shade插件正在通过其他行为:

 <plugin>

      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-shade-plugin</artifactId>

      ...

      <configuration>
           <outputFile>/tmp/watchdog.jar</outputFile>
      </configuration>

 </plugin>

org.apache.maven.plugins

这有助于摆脱
foo shaded.jar
文件,但仍会生成
原始foo.jar
文件。我还很好奇为什么另一个项目没有生成
foo shaded.jar
,尽管缺少上述配置。这没有为我删除任何jar。一个恼人的问题是,您不能使用
target/${project.artifactId}-${project.version}.jar
.maven包显示“创建着色jar时出错:打开zip XXX时出错”,因为输出jar已损坏