我有一个 pom 文件,它构建了一个利用各种 Spring 模块的独立应用程序,特别是它使用了 integration-file 模块。最初我的 pom 文件使用了 Maven Assembly 插件,但它创建的 uber jar 没有正确运行。进一步的研究似乎表明组装插件中存在一个错误,该错误基本上会弄乱 uber jar 中的依赖项。推荐的解决方法是适用于我的 Shade 插件。
但是,程序集插件能够创建一个包含 uber jar 和其他资源(属性文件、脚本等)的 zip 文件。然后,您可以使用该 zip 将其解压缩并运行您的脚本,该脚本将调用您的 jar 并传入其他项目(例如)。据我所知,阴影插件没有执行此附加功能。
我已经尝试使用配置文件组合阴影和程序集插件,但我不知道如何让它使用阴影插件来构建 uber jar,然后使用程序集插件与其他东西一起构建 zip。
有没有人做过类似的事情?我只需要能够创建我的 uber jar,然后用脚本、xml 和其他项目压缩 uber jar。
有没有办法在不将其绑定到阶段的情况下运行程序集插件?如果有,我可以运行 package 并运行 shade 插件,然后独立运行程序集插件?如果可能的话,那将解决我的问题。