maven – 关于使用多模块(jar,war,…)项目的建议

我有以下Maven组织:

- ./pom.xml (top-level project, which defines the 4 modules below) - ./a/pom.xml (jar) - ./b/pom.xml (jar) - ./c/pom.xml (war) - ./d/pom.xml (war) 

到目前为止,我一直在使用Maven(所有在root中执行):

 1. mvn clean compile install 2. mvn tomcat7:redeploy -pl c 3. mvn tomcat7:redeploy -pl d 

虽然这很有效,但我不确定这是否是首选方式。 在第一步中,我正在安装所有项目,但实际上,只应安装jar项目ab 。 无需安装cd项目。

虽然安装cd并没有什么坏处,但Maven是否有更好的使用方法来避免这种情况? 我总是可以手动安装ab ,但是这个课程可以确保模块的好处(自动检测依赖顺序,命名一个好处)。

compileinstall都是默认生命周期的一部分,因此不需要调用compile 。 并且您不需要install文件,以防依赖项是反应堆的一部分(即所有正在构建的maven项目)。 相反, package很好,虽然我更喜欢verify ,以防有集成测试。 您也可以这样做: mvn verify tomcat7:redeploy -pl c -am ,其中-am触发构建c所需的多模块项目的项目。