繁体   English   中英

像汇编插件一样使用maven shade插件

[英]use maven shade plugin like assembly plugin

我有一个pom文件,它构建了一个利用各种Spring模块的独立应用程序,特别是它使用了集成文件模块。 最初我的pom文件使用了Maven Assembly插件,但是它创建的超级jar没有正确运行。 进一步的研究似乎表明,程序集插件中存在一个错误,它基本上会破坏超级jar中的依赖关系。 推荐的解决方法是Shade插件,它对我有用。

但是,程序集插件能够创建一个包含超级jar和其他资源(属性文件,脚本等)的zip文件。 然后,您可以使用该zip解压缩并运行您的脚本,该脚本将调用您的jar并传入其他项目(例如)。 据我所知,阴影插件不会做这个额外的功能。

我尝试使用配置文件组合阴影和组装插件,但我无法弄清楚如何使用阴影插件来构建超级jar然后,使用组件插件来构建其他东西的拉链。

有没有人做过类似的事情? 我只需要能够创建我的超级罐,然后用脚本,xml和其他项目压缩超级罐。

有没有办法运行程序集插件而不将其绑定到阶段? 如果有,我可以运行包并运行shade插件,然后独立运行程序集插件? 如果可能的话,这将解决我的问题。

对于这个答案来说有点晚了,但是我和你一样(“封装阶段”:1。用阴影构建超级jar,2。将它装入装配拉链),我所要做的就是改变顺序哪些插件在pom.xml中指定。

如果在汇编之前指定了色调,则在相同阶段之前执行它。

通常的做法是在多模块项目中使用单独的模块来组装拉链。 还有appassembler-maven-plugin ,对你来说可能很有趣(尽管我自己也没用过)。

关于运行没有阶段的插件:这总是可行的。 执行目标页面上指定的全名。 在这种情况下, org.apache.maven.plugins:maven-assembly-plugin:2.4:single或简短assembly:single

不要试图用配置文件解决这个问题,它们不是为了这个。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM