自從我知道寫maven實戰這本書的作者長得隨心所欲后,我再拿起這本書真心的不想看前言了。下面分享一下maven中的所謂的聚合和繼承。
下文中的子本指的是:多個maven項目。
父本指的是:maven的父項目。
Maven的另一個更加值得瞻仰的地方,就是多個maven項目之間可以建立某種聯系。比如:多個maven項目,我們都想發布成war。這個時候,我們可以一個項目一個項目的發布,只到這幾個項目完全發布。Maven提供了一種聚合機制,建立一個父本,然后在父本pom.xml配置多個項目,然后直接發布父本的pom.xml即可。下面舉例說明:
子本:<!-- 聚合 --> <modules> <!-- <module>../user-core</module>--> <module>../user-dao</module> <module>../user-log</module> <module>../user-service</module> </modules>效果就是每個maven項目都發布了war
繼承
多個maven項目,可能引用好多相同的依賴jar包,那樣的話,每個maven項目的相同依賴,都要不同程度的在中央倉庫下載。本著抽象的理念,遇到相同的是不是考慮一下抽象,于是maven出了一個繼承。也就是在父本中出現的jar依賴,子本中如果繼承該父本,則可以享用這個jar包。這樣是不是方便了很多,下面是pom.xml配置。
子本:<parent> <groupId>org.konghao.user</groupId> <artifactId>user-parent</artifactId> <version>0.0.1-SNAPSHOT</version> <relativePath>../user-parent/pom.xml</relativePath> </parent> <artifactId>user-log</artifactId> <name>user-log</name> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> </dependency> </dependencies>父本:<PRoperties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <junit.version>4.10</junit.version> </properties> <dependencyManagement> <dependencies> <dependency> <groupId>junit</groupId> <artifactId>junit</artifactId> <version>${junit.version}</version> <scope>test</scope> </dependency> </dependencies> </dependencyManagement>小結
還是個菜的不能再菜的鳥,希望路過的大神,給予指導啊!
感謝您的寶貴時間···
新聞熱點
疑難解答