(八)maven學習之繼承
繼承
如果項目劃分了多個模塊,都需要依賴相似的jar包,只需要創建一個父模塊,在它的pom.xml文件中配置依賴的jar包。功能模塊只需要繼承父模塊,就可以自動得到其依賴的jar包,而不需要再每個模塊中都重復配置。
(這個跟java的繼承機制是相似的,如果在父類有非私有的方法,除非子類需要覆蓋方法,否則可以子類可以直接使用父類非私有的方法)。
創建父模塊
① 在eclipse中創建項目“maven project”,這裏勾選“Create a simple…”,然後點擊“Next”。
② 輸入group id和artifact id,packaging必須選擇pom,只有pom才能被繼承,其他不用管。如圖所示:
③ 創建之後,刪除src,留下pom.xml就行了。
④ 修改pom.xml,配置公共的依賴jar包。
<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.0.6.RELEASE</version> </dependency> </dependencies>
⑤ 項目執行maven install(Run--maven install),將parent.pom安裝到本地倉庫。可以根據控制臺給出的地址找到parent.pom。
子模塊
在子項目的pom.xml中不需要配置依賴,只要繼承parent.pom的坐標,就可以自動依賴parent的所有jar包。
<parent> <groupId>com.maven</groupId> <artifactId>parent</artifactId> <version>0.0.1-SNAPSHOT</version> </parent>
依賴管理
① 由於每個子模塊的功能不同,如果直接繼承父模塊,可能會將不需要的多余的jar包也繼承過來,如果父模塊使用<dependencyManagement>,子模塊可以選擇性的繼承。
<dependencyManagement> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>5.0.6.RELEASE</version> </dependency> </dependencies> </dependencyManagement>
② 在子模塊中,配置parent繼承以後,不會自動依賴,需要手動添加需要的依賴,只是不需要再配置其他版本參數,便於在parent中統一管理jar包版本。
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> </dependency>
③ 在子模塊沒有引用父模塊,Libraries情況是這樣的:
可以看到,Libraries下沒有關於Maven Dependencies的信息。
引入父模塊之後,配置好參數之後:
Maven Dependencies下面有三個依賴jar包了。
參考文章:https://blog.csdn.net/wangb_java/article/details/57074645#commentsedit
(八)maven學習之繼承