2017-07-25 50 views
0

我有一个由父项目和若干模块foobar,foobarweb组成的maven项目。Maven:构建包含不同模块相关性的相同项目的不同WAR文件

<modules> 
    <module>foo</module> 
    <module>bar</module> 
    <module>foobar</module> 
    <module>web</module> 
</modules> 

webfoobarfoobar的依赖关系,并构建为WAR。由于几个原因,我需要构建另一个WAR,其中包含foobar,但不包含foobar。达到此目的的最佳方法是什么?有没有可能使用maven配置文件来定义不同的依赖关系?或者是最好的解决办法只是没有foobar添加第二个战争的建筑模块(例如web2)像这个答案依赖提示: Maven generating two different WAR files for same project(见这个问题的答案“多模块结构”)

+2

使另一个模块web-2成为具有不同依赖性的web ...最干净的解决方案... – khmarbaise

+0

好吧,我要尝试第二个Web模块。 – rostbot

回答

0

假设你的顶部工件类型level pom是“Pom”,模块节点只是一个聚合器,并指定了构建执行顺序 - 它没有指定每个子模块的依赖关系。

您可以将web2作为另一个模块添加到父pom的底部,然后在web2的pom中,您可以指定工件的战争类型和foo和bar的依赖关系。 Foo和酒吧将包含在你的战争神器中,而foobar不会。

+0

您不应该依赖基于pom文件中模块顺序的构建顺序。总是定义模块之间的正确依赖关系,maven将处理该问题.... – khmarbaise

相关问题