maven的jar之间存在依赖关系的,我们在引入一个时,其他有依赖关系的也会被引入

依赖排除:

比如现在有两个依赖关系,A(x,java,y.java,z.java)  B(a,java,b,java,c.java),但是他们之前的依赖实质是 z.java--c.java,那么就不需要a和b,进行如下配置进行排除:

  <exclusions>
<exclusion>
<artifactId></artifactId>
<groupId></groupId>
</exclusion>
</exclusions>

如图,在依赖包的<dependcy>标签之中,通过gav定位需要排除的beans即可

依赖的传递性:

A.jar--B.jar--C.jar:

三者依赖关系如上,如果想要让A也依赖于C,那么B.jar---C.jar的依赖范围必须是compile

两个项目之间的依赖,

现在有两个项目,HelloWorld和HelloWorld2,这是他们的目录结构

helloworld的坐标

   <modelVersion>4.0.0</modelVersion>

    <groupId>org.apache.maven</groupId>
<artifactId>HelloWorld</artifactId>
<version>1.0-SNAPSHOT</version>

如果想在hellowold2之中使用 Helloworld之中类,需要以下几个步骤:

1.helloworld项目之中,执行mvn install  ,将当前项目打包成jar包,并放进本地仓库当中

2.helloworld2项目之中的的pom.xml之中,加入依赖:helloworld的坐标

  <dependency>
<groupId>org.apache.maven</groupId>
<artifactId>HelloWorld</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>

,之后更新项目,就可以成功的引入我们自定义的项目jar包啦。如图,可以引入helloworld项目的HelloWorld方法

maven继承实现:

现在有两个项目  A-B,

继承就是说B项目之中依赖了的包,A项目也可以使用。一般用于统一管理版本号等

具体实现如下:

1.创建父工程parent,打包方式为pom,并在其中依赖junit.jar,注意要写在<dependencyManagement>标签之中。如下

 

接下来在子工程Helloworld的pom.xml当中添加父工程标签,这里的<relativePath>是父工程的pom.xml文件的位置,其他是父工程的gav

    <parent>
<groupId>org.apache.maven</groupId>
<artifactId>parent</artifactId>
<version>1.0-SNAPSHOT</version>
<relativePath>../parent/pom.xml</relativePath>
</parent>

  接下来在子类当中,声明一下需要使用父类当中的哪些jar包:声明写在pom.xml的<dependenices>标签之中,如下:

可以看到有一个向上继承的符号,说明继承已经成功了。更新之后发现junit已经导入,

(二)maven依赖,两个项目之间如何依赖,继承实现的更多相关文章

  1. 手动创建Maven项目并建立两个项目之间的依赖关系

    用命令行快速建立maven项目 -> mvn:archetype:generate -> 直接回车或者自己输入你想生成的 -> groupId ->artifactId -&g ...

  2. Maven创建多模块项目(包括依赖版本号的统一更新)

    0.多项目工程的文件夹及依赖关系 bus-core-api为公共项目,app-web-ui依赖bus-core-api,app-desktop-ui依赖bus-core-api 1.创建一个父Mave ...

  3. 8maven配置多个项目之间的依赖

    首先创建两个项目进行测试依赖 创建一个HelloWorld2项目,一个HelloWorld类里面有一个sayHello的方法 然后再创建一个HelloWorldTime项目,一个SayHelloWor ...

  4. Maven构建的Spring项目需要哪些依赖?

    Maven构建的Spring项目需要哪些依赖? <!-- Spring依赖 --> <!-- 1.Spring核心依赖 --> <dependency> <g ...

  5. 在idea下两个项目之间的maven父子级项目依赖

    配置:idea 在一个项目中的父子级依赖网上轮子太多,我就不重复造了,留个链接 http://www.cnblogs.com/tibit/p/6185704.html 说说一些我自己注意的问题,在pr ...

  6. maven工程项目与项目之间的依赖方式

    首先看一下项目结构: ​ 1.需要在父工程中把子工程为坐标引进来,同时标注父工程为pom工程: ​ 2.同时在父工程中把子工程当作一个模块引进来 ​ 3.需要在每一个子项目中通过parent标签,标注 ...

  7. 使用maven将GitHub上项目打包作为依赖添加

    Clone GitHub项目 git clone https://github.com/LeeKemp/UserAgentParser 将项目打成jar包,安装到maven仓库中 D:\Github ...

  8. Maven转换成Eclipse项目后的依赖库更新问题

    使用Eclipse的Maven插件创建项目 如果你的Eclipse安装了Maven插件,创建Maven项目相当方便,创建后的项目如: 优势:项目引用的类库名称是"Maven Dependen ...

  9. Maven环境下面多项目之间的引用

    如图: https://github.com/sdl/odata-example  sdl OData例子包含了4个项目,下载到本地后编译.发现只有model项目是可以编译过去了.其他几个暂时编译不过 ...

随机推荐

  1. Kubernetes 会不会“杀死” DevOps?

    作者丨孙健波(天元)  阿里巴巴技术专家 导读:DevOps 这个概念最早是在 2007 年提出的,那时云计算基础设施的概念也才刚刚提出没多久,而随着互联网的逐渐普及,应用软件的需求爆发式增长,软件开 ...

  2. 25.xlrd、xlwt和openpyxl模块的比较和使用

    xlrd.xlwt和openpyxl模块的比较:1)xlrd:对xls.xlsx.xlsm文件进行读操作–读操作效率较高,推荐2)xlwt:对xls文件进行写操作–写操作效率较高,但是不能执行xlsx ...

  3. Java 中级 学习笔记 1 JVM的理解以及新生代GC处理流程

    写在最前 从毕业到现在已经过去了差不多一年的时间,工作还算顺利,但总是离不开CRUD ,我觉得这样下去肯定是不行的,温水煮青蛙,势必有一天,会昏昏沉沉的迷失在温水里.所以,需要将之前学习JAVA 当中 ...

  4. 深入 Create React App 核心概念

    本文差点难产而死.因为总结的过程中,多次怀疑本文是对官方文档的直接翻译和简单诺列:同时官方文档很全面,全范围的介绍无疑加深了写作的心智负担.但在最终的梳理中,发现走出了一条与众不同的路,于是坚持分享出 ...

  5. 云资源中的低成本战斗机——竞价实例,AWS、阿里云等六家云厂商完全用户使用指南

    云端资源价格 预留实例:长期持有,批发路线,价格最便宜. 按需实例:即买即用,零售路线,价格最贵. 这两种资源,基于不同区域/价格的六家云厂商价格对比,连同原始数据文档我们已经打包成了一份电子文档,有 ...

  6. VS 超级好用的 Ctrl E E

    C# Interactive 推荐!!! 先看我怎么用的:随便创建一个类 有些编译期的的值不知道查文档又太麻烦怎么办?自己写个控制台测试咩?试试 C# 交互 罢, 选中这个类ctrl EE 然后输入 ...

  7. 搭建个人OpenAPI

    简介 OpenAPI Open API 即开放 API,也称开放平台. 所谓的开放 API(OpenAPI)是服务型网站常见的一种应用,网站的服务商将自己的网站服务封装成一系列 API(Applica ...

  8. 前端笔记5-js1

    一.在JS中一共有6种数据类型1. String 字符串2. Number 数值3. Boolean 布尔值4. Null 空值5. Undefined 未定义6. Object 对象 其中 Stri ...

  9. 9.Java三大版本以及JDK,JRE,JVM简单介绍

    Write Once,Run Anywhere. JavaSE:标准版(桌面程序,控制台开发...),是Java的基础和核心. JavaME:嵌入式开发(手机,小家电...),现在基本不用已经过时. ...

  10. C++ vector对象是如何增长的

    为了支持快速随机访问,vector将元素连续存储---每个元素紧挨着前一个元素存储. 如果没有空间容纳新元素: 容器必须分配新的内存空间来保存已有元素和新元素,将已有元素从旧位置移动到新空间中,然后添 ...