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>
总结
到此这篇关于IDEA中如何查找jar包之间的依赖关系并忽略依赖的某个包的文章就介绍到这了,更多相关IDEA查找jar包之间的依赖关系内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
- IDEA中打jar包的2种方式(Maven打jar包)
- 教你怎么用Idea打包jar包
- IDEA创建Java项目导出Jar包运行
- idea打包java可执行jar包的实现步骤
- IDEA生成可运行jar包(包含第三方jar包)流程详解
- Lombok插件安装(IDEA)及配置jar包使用详解
- 解决IDEA无法读取maven镜像,jar包下载失败的问题
- IntelliJ IDEA里找不到javax.servlet的jar包的解决方法
- idea install 时提示jdk的某个jar包的包不存在的问题
- JDBC-idea导入mysql连接java的jar包(mac)的方法
- 如何基于Idea远程调试tomcat war包及jar包
- 在idea中将java项目中的单个类打包成jar包操作
- 详解IDEA使用Maven项目不能加入本地Jar包的解决方法
- IDEA 程序包不存在,找不到符号但是明明存在对应的jar包(问题分析及解决方案)
- IDEA中已配置阿里镜像但maven无法下载jar包的问题及解决方法
- 详解idea+maven打jar包的两种方式
- IDEA对使用了第三方依赖jar包的非Maven项目打jar包的问题(图文详解)
- 详细总结IDEA中打jar包的两种方式
相关文章
解决logback-classic 使用testCompile的打包问题
这篇文章主要介绍了解决logback-classic 使用testCompile的打包问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教2021-07-07Spring中的@ConditionalOnProperty注解详解
这篇文章主要介绍了Spring中的@ConditionalOnProperty注解详解,常见的@Conditionalxxx开头的注解我们称之为条件注解,常见的条件注解有,简单来讲,一般是在配置类上或者是@Bean修饰的方法上,添加此注解表示一个类是否要被Spring上下文加载,需要的朋友可以参考下2024-01-01解析ConcurrentHashMap: 预热(内部一些小方法分析)
ConcurrentHashMap是由Segment数组结构和HashEntry数组结构组成。Segment的结构和HashMap类似,是一种数组和链表结构,今天给大家普及java面试常见问题---ConcurrentHashMap知识,一起看看吧2021-06-06quartz实现定时功能实例详解(servlet定时器配置方法)
Quartz是一个完全由java编写的开源作业调度框架,下面提供一个小例子供大家参考,还有在servlet配置的方法2013-12-12
最新评论