maven依赖继承

  A >  B  >  C

  A依赖于B,B依赖于C,如果A想间接依赖C,那么B和C之间的依赖范围必须是compile,不然A依赖不了C

但是有点麻烦,因为每次A想依赖于C都要确认B和C之间的依赖范围是否是compile,否则A依赖不了C,每次确认都会费时间

而且有些依赖的默认范围不是compile,如果修改默认的依赖范围可能导致冲突,比如servlet-api.jar的默认依赖范围是provided,如果修改servlet的默认依赖范围为compile,那么间接依赖serlvet的项目在运行时会报空指针异常,因为项目是在tomcat里面运行的,但是tomcat自带了servlet-api.jar,那就会冲突。

有一种方法,只要B依赖于C,不管依赖范围是否为compile,A都能间接依赖于C,这种方法就是  依赖继承。

依赖继承

依赖继承后,A可以使用B的所有依赖

想要实现依赖继承有三个步骤

1、确保被继承的父工程打包方式为pom,并且要在父工程的pom.xml文件中配置依赖

2、在子工程里面配置父工程的坐标,建立继承关系

3、在子工程的pom.xml里面声明要使用到父工程里面的哪些依赖

maven打包方式:
java工程——jar
web项目-war
父工程-pom

例子:

首先创建父工程,保证打包方式为pom

 

 

 然后创建子工程,子工程打包类型没有限制,

然后在子工程pom.xml里面配置依赖

你一定有点疑问,直接在本项目中配置依赖就可以导入相关Jar包,为什么还要弄继承这么复杂呢,原因有两个

第一:配置依赖每次都要去远程仓库下载jar包,下载jar包即浪费时间又占用空间

第二:继承就可以直接调用原来的jar包,即不用重新下载,又不会新占用空间

 如果你不确定是否又继承到父工程的依赖可以在下图查看依赖

 有什么疑问或建议欢迎在评论区发表。

猜你喜欢

转载自www.cnblogs.com/unlasting/p/12203081.html