Intellij IDEA中如何查看maven项目中所有jar包的依赖关系图
作者:李学凯 时间:2023-02-01 23:34:03
Maven 组件界面介绍
如上图标注 1 所示,为常用的 Maven 工具栏,其中最常用的有:
第一个按钮:
Reimport All Maven Projects
表示根据pom.xml
重新载入项目。一般单我们在pom.xml
添加了依赖包或是插件的时候,发现标注 4 的依赖区中没有看到最新写的依赖的话,可以尝试点击此按钮进行项目的重新载入。第六个按钮:
Execute Maven Goal
弹出可执行的 Maven 命令的输入框。有些情况下我们需要通过书写某些执行命令来构建项目,就可以通过此按钮。第九个按钮:
Show Dependencies
显示项目依赖的结构图,可以方便我们直观项目的依赖包情况。这个功能有些具体的操作下面会专门进行讲解。
如上图标注 2 所示,常用的 Maven 生命周期的命令,通过双击对应的命令来执行项目编译、打包、部署等操作。
如上图标注 3 所示,为我们在 pom.xml
中配置的插件列表,方便调用插件。
如上图标注 4 所示,为我们在 pom.xml
中配置的依赖包列表。
如上图标注 5 所示,为常见的 Java Web 在 Maven 下的一个项目结构。
大致了解过后,看怎么查看所有jar包的依赖关系。
2017.2.6版本之后,这个图标的样子变啦。
点完之后就会有下图
可以看到,这个maven项目的所有jar包依赖关系,一览无余。
为什么我的这个jar包依赖这么少呢,因为我这个项目只是简单示范了一下springmvc框架的使用。所以,也没有引入过多的jar包,要是在一个大一点的项目里面,你使用定时任务了,使用poi了使用等等一些其他工具类的包,那么就会很多了。
下面说一些小技巧
自动适配这个页面的大小。
右键,这个地方,如图,就可以调整到,适合大小。左上角那个放大镜边上,也有这个按钮。
不用自己去放大缩小的,找不到合适点。
这地方有个小技巧,也许有的人不知道呢,就是这有放大镜功能。不是简单的点上面给的图标,放大,那个放大也不方便不是?
Windows电脑可以按alt键,页面上就会出现个大的圆圈,也就是传说中的放大镜了,这么一来就可以看的方便一点了。
具体看图:
依赖包冲突
图中的红色实线就算是冲突的,可以入上图那样,右键,排除,他就自动在pom文件里面给exclud啦。
还有一种是虚线的红线。
这种虚线,告诉你同一个jar都在哪里被多次引用了。
上面的都是理论姿势,那么实际中怎么使用呢?
比如下面的这个pom.xml里面有这么2个dependency的引入。
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${org.springframework-version}</version>
</dependency>
可以看到,如果你不是很了解spring相关的包依赖的话,你就不知道你上面的引入,其实只需要引入一个依赖就可以了。如下:
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
因为,从上面的第一个依赖关系图可以看出来,spring-webmvc是依赖于spring-web的,所以,他是会自动的去添加这个jar包的。
额,其实,就算知道了,也不一定会去改,你也看到了,我们项目里面那么多红线,但是项目依然可以健康的跑起来。基本上算是尾大不掉的局面啦。这个要是一开始就注意这个问题的话,那么项目看起来还是比较 整洁的。
来源:https://blog.csdn.net/qq_27093465/article/details/69226949
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
Android实现仿通讯录侧边栏滑动SiderBar效果代码
![](https://img.aspxhome.com/file/2023/6/118966_0s.png)
java实现随机验证码图片生成
![](https://img.aspxhome.com/file/2023/1/82301_0s.jpg)
C#设计模式实现之迭代器模式
![](https://img.aspxhome.com/file/2023/8/82118_0s.png)
浅析依赖注入框架Autofac的使用
![](https://img.aspxhome.com/file/2023/8/122758_0s.png)
AndroidManifest.xml中含盖的安全问题详解
C#实现客户端弹出消息框封装类实例
Java 获取网站图片的示例代码
![](https://img.aspxhome.com/file/2023/9/67969_0s.jpg)
Java 散列存储详解及简单示例
Android AlertDialog自定义样式实现代码
eclipse导入appcompat项目报错解决办法
![](https://img.aspxhome.com/file/2023/6/116126_0s.png)
Mybatis配置之typeAlias标签的用法
![](https://img.aspxhome.com/file/2023/6/60446_0s.jpg)
MybatisX-Generator自动代码生成插件教程
![](https://img.aspxhome.com/file/2023/7/67677_0s.png)
C#对文件名智能排序的算法
C#四舍五入(函数)用法实例
![](https://img.aspxhome.com/file/2023/4/100104_0s.png)
CountDownLatch和Atomic原子操作类源码解析
![](https://img.aspxhome.com/file/2023/5/94215_0s.png)
Sentinel源码解析入口类和SlotChain构建过程详解
![](https://img.aspxhome.com/file/2023/2/105972_0s.png)
Android通讯录开发之删除功能的实现方法
![](https://img.aspxhome.com/file/2023/1/116031_0s.png)
java利用url实现网页内容的抓取
![](https://img.aspxhome.com/file/2023/4/87214_0s.jpg)
使用java生成字母验证码
Android实时文件夹创建方法
![](https://img.aspxhome.com/file/2023/1/116151_0s.jpg)