1. 程式人生 > >(八)maven學習之繼承

(八)maven學習之繼承

nbsp 功能 有關 class 所有 情況 -m 項目執行 group

技術分享圖片

繼承

  如果項目劃分了多個模塊,都需要依賴相似的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學習之繼承