IDEA查看maven依赖关系层级的两种方法

本文介绍了如何在Maven项目中使用命令行工具(推荐mvndependency:tree或mvnorg.apache.maven.plugins:maven-dependency-plugin:tree)以及IDEA的界面功能来查找依赖层级关系,包括使用实例和排除冲突的操作指南。
摘要由CSDN通过智能技术生成

目录

前言

一.  命令行方式查找(推荐)

二. 界面方式查找


前言

由于maven项目之间pom文件jar包的相互引用,导致一些底层不需要的jar包或者低版本的jar包被引入,而当前项目又没办法直接体现是哪个引用携带了这些jar包,这使得排除或者解决jar包冲突变得困难。下面我就教大家两种查找maven依赖层级关系的方法

一.  命令行方式查找(推荐)

1.通过idea 的 terminal 界面使用命令行方式进行查找,层级关系清晰,无须繁琐的通过界面查找关系。

命令结构

 技巧:可先用命令1方式执行,不行换成命令2即可,这样就无须去知道是否有插件

命令1:pom文件有maven插件的情况
结构:
mvn dependency:tree -Dverbose -Dincludes=pom文件的<groupId>:pom文件的<artifactId>
例子:
mvn dependency:tree -Dverbose -Dincludes=org.apache.logging.log4j:log4j-core
命令2:pom文件无插件查询的情况(可添加插件依赖)
结构:
mvn 插件版本信息:tree -Dverbose -Dincludes=pom文件的<groupId>:pom文件的<artifactId>
无插件可直接使用此命令:
mvn org.apache.maven.plugins:maven-dependency-plugin:3.3.0:tree -Dverbose -Dincludes=pom文件的<groupId>:pom文件的<artifactId>
例子:
mvn org.apache.maven.plugins:maven-dependency-plugin:3.3.0:tree -Dverbose -Dincludes=org.apache.logging.log4j:log4j-core

<pom文件可添加插件依赖,就可以用命令1方式执行,这样就无须在执行的时候加上版本信息>
<plugins>
  <plugin>
    <groupId>org.apache.maven.plugins</groupId> 
    <artifactId>maven-dependency-plugin</artifactId> 
    <version>3.3.0</version> 
    <executions> 
      <execution> 
        <id>copy-dependencies</id> 
        <phase>package</phase> 
        <goals> 
          <goal>copy-dependencies</goal> 
        </goals> 
      </execution> 
    </executions> 
  </plugin> 
</plugins>

  使用案例: 查找log4j-core的层级结构

        <dependency>
            <groupId>org.apache.logging.log4j</groupId>
            <artifactId>log4j-core</artifactId>
            <version>2.19.0</version>
        </dependency>
//有插件命令写法
mvn dependency:tree -Dverbose -Dincludes=org.apache.logging.log4j:log4j-core
//无插件命令写法
mvn org.apache.maven.plugins:maven-dependency-plugin:3.3.0:tree -Dverbose -Dincludes=org.apache.logging.log4j:log4j-core

注:无插件执行命令1会报No plugin found for prefix '?dependency' in the current project and in the plugin groups xxx,原因是未指定插件版本,加上插件版本信息或者换成命令2即可。

具体步骤(查找springfox-swagger2依赖层级为例):

a. 快速查找目标结构:选中idea界面的External Libraries 依赖包列表,直接输入需要查找的对象名称,就能显示定位

b. 打开terminal 界面,输入命令

c. 命令1方式:mvn dependency:tree -Dverbose -Dincludes=XXX

d. 命令2方式:mvn org.apache.maven.plugins:maven-dependency-plugin:3.3.0:tree -Dverbose -Dincludes=XXX

e. 执行结果:

f. 查找出来以后,可以进行排除冲突/升级版本等操作,下面是排除冲突操作。

二. 界面方式查找

idea自带了查找maven依赖的功能,具体操作如下:

a. 打开有两种方式:

一种是选中pom文件右键选择maven->show dependencies.

另外一种是通过maven控件直接打开。

b. 打开以后可以看到整个关系图,通过ctrl+滑轮可以进行放大跟缩小

c. 点击ctrl+f 键快速打开搜索框,输入关键字进行查找

d. 点击指向线会出现高亮,可以根据线条指示进行查找

e. 双击对应jar包可以进入到具体的依赖关系里面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序艺术

您的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值