依赖管理

依赖配置

依赖指的是当前项目所需的jar包,一个项目可以设置多个依赖

依赖传递

当项目需要用到另外一个项目时,把另外一个项目的坐标复制到当前这个项目中。在当前项目中以以来的格式加入当前项目中。
如图:把项目Java02的坐标复制到Java03的坐标中


1.png

可以观察到Java03的依赖包多加入了一个依赖,被用的那个没有变化,是无法感知到的,用了别人的那个项目知道自己用了别人的。


3.png

从上图可知,Java02中用了log4j,Java03用了Java02的jar包,log4j也会传递过来,这就叫做依赖传递
4.png

依赖冲突
5.png

可选依赖

含义:对外隐藏当前所依赖的资源--不透明
例如:Java03中用了Java02的资源,但是Java02的资源有写隐藏掉,在Java03中不可见
在依赖中加入

<optional>true</optional>

排除依赖

主动的断开依赖的资源,被排除的资源无需指定版本---不需要
Java03中使用Java02的资源,在依赖里面添加<exclusions>下面的内容,主动断开依赖

<dependency>
      <groupId>com.niit</groupId>
      <artifactId>java02</artifactId>
      <version>1.0-SNAPSHOT</version>
      <exclusions>
        <exclusion>
          <groupId>log4j</groupId>
          <artifactId>log4j</artifactId>
        </exclusion>
      </exclusions>
    </dependency>

依赖范围

依赖的jar默认情况可以在任何地方使用,可以通过scope标签设定其作用范围
作用范围:
主程序范围有效(main文件夹范围内)
测试程序范围有效(test文件夹范围内)
是否参与打包(package指令范围内)


6.png

依赖范围传递性
带有依赖范围的资源在进行传递时,作用范围将收到影响


7.png
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容