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项目a
和b
。 无需安装c
和d
项目。
虽然安装c
和d
并没有什么坏处,但Maven是否有更好的使用方法来避免这种情况? 我总是可以手动安装a
和b
,但是这个课程可以确保模块的好处(自动检测依赖顺序,命名一个好处)。
compile
和install
都是默认生命周期的一部分,因此不需要调用compile
。 并且您不需要install
文件,以防依赖项是反应堆的一部分(即所有正在构建的maven项目)。 相反, package
很好,虽然我更喜欢verify
,以防有集成测试。 您也可以这样做: mvn verify tomcat7:redeploy -pl c -am
,其中-am
触发构建c所需的多模块项目的项目。