以下是我的项目结构:
Master
|
|--A
|--B
|--C
C取决于A,B和Master。我想先编译Master,A,B,然后再编译C,但要运行仅在C模块中存在的测试。
我想要一个可以在詹金斯中使用的命令。
我经历了http://www.jayway.com/2013/06/09/working-ficiently-with-maven-modules/但使用了
mvn -pl:C -am全新安装
在所有模块(主模块,A和B)中构建和运行测试。
不能使用单个命令为子模块运行不同的目标。
假设您具有以下结构:
Parent
|
|---ModuleA
|---ModuleB (Depends on ModuleC)
|---ModuleC
现在,如果您mvn clean install -pl :ModuleB
从根pom(Parent)运行-am,则可以看到它构建了Parent,ModuleC和ModuleB。
要么以不同的方式重组代码库,要么运行如下代码: mvn clean install -pl :ModuleB -Dmaven.test.skip=true && mvn test -pl :ModuleB
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句