讀古今文學網 > Maven實戰 > 8.3 繼承 >

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的繼承。