maven学习之继承

Posted nyfor2018

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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学习之继承的主要内容,如果未能解决你的问题,请参考以下文章

JavaWeb学习之Maven

JACA学习之继承

C#基础学习之继承

IntelliJ IDEA学习之七maven专题

Android 学习之《第一行代码》第三版 笔记Kotlin 继承时的括号到底写不写

爬虫概念与编程学习之如何爬取网页源代码