Maven 继承聚合的一些实践

Maven 继承聚合的一些实践,第1张

Maven 继承/聚合的一些实践 1.Son1和Son2无共同父类
Son1

Son2

Son1和Son2 是两个单独的模块,其中Son2引用Son1。

结论:只要先install Son1成功,不管Son2是都有Parent,那么Son2都可以build成功。

2.Son1和Son2有共同父类,只继承无聚合
Parent
|--------->Son1
|--------->Son2

Parent下一个有两个子类 Son1和Son2。他们之间只实现了继承关系。即Son1和Son2继承自同一个父Parent。同时Son2中引用Son1。

结论:

Son1只是依赖三方,那么在不提前build Parent的前提下可以build Son1成功;

Son2除了三方外还依赖了Son1,那么build Son2的时候 就需要提前install Parent和Son1才能成功。缺任何一个都会失败。

3.Son1和Son2有共同父类,继承和聚合
Parent
|--------->Son1
|--------->Son2
|--------->Son3

Parent下一个有三个子类 Son1和Son2和Son3。Son1和Son2和Son3继承自同一个父Parent。同时Son2中引用Son1。

结论:

Son1和Son3只是依赖三方,那么在不提前build Parent的前提下分别可以build Son1和Son3成功;

Son2除了三方外还依赖了Son1,那么build Son2的时候 就需要提前install Parent和Son1才能成功。而Parent又聚合了Son1和Son2和Son3,所以install Parent就意味着所有的Son都要install。

所以如果只想buildSon2,可以在Parent的pom处执行 mvn clean install -pl Son2 -am。这样的话 就只会执行与Son2有关的相应模块。

[INFO] Parent ............................................. SUCCESS [  0.555 s]

[INFO] Son1 ............................................... SUCCESS [  3.234 s]

[INFO] Son2 ............................................... SUCCESS [  1.067 s]

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5684447.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存