IDEA中如何查找jar包之间的依赖关系并忽略依赖的某个包

所属分类: 软件编程 / java 阅读数: 118
收藏 0 赞 0 分享

问题背景

实际开发过程中,如果用maven管理jar包,在pom文件中加入某个依赖时,可能会导入该包的许多子jar包。有时候这些jar包不需要,那么如何找到jar包之间的关系,又如何解耦jar包“子父”之间的关系呢?

问题描述

这几天开发过程中,有3个与tomcat的jar包,由于公司私服上没有对应版本的jar包,所以下载不了,导致报错

经查找发现pom文件中并未直接引用tomcat的jar包,并且这3个jar包在工程里也没有用。所以就考虑直接忽略这些jar包。

那么如何找到pom中,依赖包中依赖了tomcat的相关包呢?

IDEA自带了maven依赖的工具:用IDEA打开项目,右上角--maven--选中自己的项目--点击下图框3的图标(show Dependencies)。

点击以后,显示出整个项目的jar包依赖关系图。点击该图片后,直接ctrl+f 搜索:tomcat,点击相应的jar后,即可定位到相应的jar包。

比如点击上图中的tomcat-embed-core ,即可定位到如下图的依赖关系:

双击选中的依赖关系,即可进入到该依赖的GAV坐标。

根据GAV坐标,往上滚动鼠标,可找到其上一级的GAV。

然后根据找到的artifactId,去工程的pom文件里找,即可定位,是哪个依赖引用了该tomcat的jar包。 

如何解耦jar包“子父”之间的关系?

通过exclusions解决,即: 

<exclusions>
 <!-- 去掉springboot的tomcat配置 -->
 <exclusion>
 <groupId>org.apache.tomcat.embed</groupId>
 <artifactId>tomcat-embed-core</artifactId>
 </exclusion>
 <exclusion>
 <groupId>org.apache.tomcat.embed</groupId>
 <artifactId>tomcat-embed-el</artifactId>
 </exclusion>
 <exclusion>
 <groupId>org.apache.tomcat.embed</groupId>
 <artifactId>tomcat-embed-websocket</artifactId>
 </exclusion>
</exclusions>
更多精彩内容其他人还在看

Java实现一个简单的文件上传案例示例代码

这篇文章主要介绍了Java实现一个简单的文件上传案例,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

详解在spring中使用JdbcTemplate操作数据库的几种方式

这篇文章主要介绍了详解在spring中使用JdbcTemplate操作数据库的几种方式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

java中的switch case语句使用详解

这篇文章主要介绍了java中的switch case语句使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

深入理解Java 线程池

这篇文章主要介绍了Java 线程池的相关资料,文中讲解非常细致,帮助大家更好的理解和学习,感兴趣的朋友可以了解下
收藏 0 赞 0 分享

详解mybatis #{}和${}的区别、传参、基本语法

这篇文章主要介绍了mybatis #{}和${}的区别、传参、基本语法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

MyBatis 中 ${}和 #{}的正确使用方法(千万不要乱用)

这篇文章主要介绍了MyBatis 中 ${}和 #{}的正确使用方法,本文给大家提到了MyBatis 中 ${}和 #{}的区别,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Mybatis中的 ${} 和 #{}区别与用法

这篇文章主要介绍了Mybatis中的 ${} 和 #{}区别与用法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
收藏 0 赞 0 分享

Maven安装过程图文详解

这篇文章主要介绍了Maven安装过程,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
收藏 0 赞 0 分享

SpringBoot登录拦截配置详解(实测可用)

这篇文章主要介绍了SpringBoot登录拦截配置详解(实测可用),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
收藏 0 赞 0 分享

JAVA 内存溢出案例汇总

这篇文章主要介绍了JAVA 内存溢出案例的汇总,文中讲解非常细致,帮助各位工作学习时避免内存溢出,感兴趣的朋友可以了解下
收藏 0 赞 0 分享
查看更多