IDEA中如何查找jar包之间的依赖关系并忽略依赖的某个包
问题背景
实际开发过程中,如果用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 PriorityQueue数据结构接口原理及用法
栏 目:JAVA代码
下一篇:SpringBoot使用thymeleaf模板过程解析
本文标题:IDEA中如何查找jar包之间的依赖关系并忽略依赖的某个包
本文地址:http://www.codeinn.net/misctech/157210.html


阅读排行
- 1Java Swing组件BoxLayout布局用法示例
- 2java中-jar 与nohup的对比
- 3Java邮件发送程序(可以同时发给多个地址、可以带附件)
- 4Caused by: java.lang.ClassNotFoundException: org.objectweb.asm.Type异常
- 5Java中自定义异常详解及实例代码
- 6深入理解Java中的克隆
- 7java读取excel文件的两种方法
- 8解析SpringSecurity+JWT认证流程实现
- 9spring boot里增加表单验证hibernate-validator并在freemarker模板里显示错误信息(推荐)
- 10深入解析java虚拟机




