将 maven-shade-plugin 与 maven- assembly-plugin 一起使用

Dav*_*ell 5 maven maven-assembly-plugin maven-shade-plugin

我有一个项目,它使用 maven-assemble-plugin 打包多个(可执行 jar)程序集 - 基本上相同的代码,但针对不同的客户端具有不同的数据集。

我需要在可执行 jar 中使用 spring,并且由于 spring 中的文件命名,我需要转而使用 maven-shade-plugin 来创建 jar。这工作正常,我可以创建可执行 jar,但我无法弄清楚如何将其他文件组装到这个新的阴影 jar 中,因为阴影插件不提供程序集插件提供的许多功能。

阴影插件在程序集之前执行,因此我假设我可以以某种方式在程序集中使用阴影工件,但到目前为止我的所有尝试都失败了。是否可以创建一个程序集,该程序集采用现有的着色 jar 并简单地将二进制文件和一些其他文件注入其中?

qui*_*onm 4

将shadedArtifactAttached设置为true将导致maven将着色工件而不是原始工件附加到项目。这应该可以解决您的问题。

<shadedArtifactAttached>true</shadedArtifactAttached>
Run Code Online (Sandbox Code Playgroud)