首页 » Maven实战 » Maven实战全文在线阅读

《Maven实战》8.3 继承

关灯直达底部

到目前为止,我们已经能够使用Maven的聚合特性通过一条命令同时构建account-email和account-persist两个模块,不过这仅仅解决了多模块Maven项目的一个问题。那么多模块的项目还有什么问题呢?

细心的读者可能已经比较过5.3.1节和8.1.1节,这两个POM有着很多相同的配置,例如它们有相同的groupId和version,有相同的spring-core、spring-beans、spring-context和junit依赖,还有相同的maven-compiler-plugin与maven-resources-plugin配置。程序员的嗅觉对这种现象比较敏感,没错,这是重复!大量的前人经验告诉我们,重复往往就意味着更多的劳动和更多的潜在的问题。在面向对象世界中,程序员可以使用类继承在一定程度上消除重复,在Maven的世界中,也有类似的机制能让我们抽取出重复的配置,这就是POM的继承。