2017-03-02 67 views
0

我一直在尝试创建超级罐子,它包含项目中的所有模块。 我一直在阅读,它需要一些插件(阴影/大会),但这些没有建立或pom阴影。从多模块项目创建超级罐子

如何从multimodule项目创建jar?我想将它上载到nexus,作为其他项目的可用依赖项,但我只希望每个模块中都有一个依赖项,而不是每个模块都有一个依赖项。

+1

是的,你可以,只是在父母上创建的超级jar。使你的一个模块依赖于其他模块并在那里创建超级jar(在最后一个模块中这么说)。阴影插件是一个很好的开始。如果你的弹簧使用的是弹簧引导,它有一个自己的maven-plugin,可以将它自己捆绑到一个超级罐子里(我认为这比使用阴影插件更简单的解决方案) – wemu

+0

在你的多功能工具中创建一个单独的项目,模块项目,并将所需的依赖关系添加到此模块并配置他们的maven-shade-plugin/maven-assembly-plugin来创建它。 – khmarbaise

回答

0

好的,插件的问题是我在父模块上使用插件。应该在最终模块上使用它,而不是父类。

简单说就是:程序集打开jar,放入依赖关系,关闭jar。我没有在父母打开的jar,所以...

+1

如果你使用的是spring(spring-beans,spring-context,spring-jdbc等),请注意maven-assembly插件。 Assembly插件实际上将模块瓶子解包到类中,并将这些类放入超级罐中。 (请参阅:https://maven.apache.org/plugins/maven-assembly-plugin/descriptor-refs.html#jar-with-dependencies)。结果是它将覆盖jar中常见的任何配置文件。 – htulsiani

+0

@htulsiani我的谢意,帮了很大忙 – Sarief

相关问题