IntelliJ IDEA查找依赖关系,解决jar包冲突

maven工程,一个artifact的jar包可能不只一处被依赖;有时候依赖会出现相同的artifact却不同版本,相互存在冲突,这时就需要exclude某个版本。

试了在命令行工程目录下执行mvn dependency:tree可以出来文本的依赖关系,但是不会把一个artifact的每处依赖都显示出来,只会出现第一次被依赖的地方。

使用eclipse的都知道,如果要查看一个jar包是如何被依赖进来的,可以打开工程的pom.xml,切换到dependency hierarchy视图,然后右上角Filter输入artifactId就可以清晰地看到它是如何被直接或间接地依赖进来的;找到了就容易到pom文件里排除冲突包的引入了。

IntelliJ IDEA,该如何找某个artifact的全部依赖关系?

该工具有个Maven Projects窗口,一般在右侧能够找到,如果没有可以从菜单栏打开:View>Tool Windows>Maven Projects;

选择要分析的maven module(idea的module相当于eclipse的project),右击show dependencies,会出来该module的全部依赖关系图,非常清晰细致。

在图里选中一个artifact,则所有依赖该artifact的地方都会一起连带出来突出显示,如果有不同版本的也会标记出来。这样该artifact在该工程里是如何被直接或间接引入的进来也就明朗了。

如果有冲突的版本,可以右击该版本的节点然后Exclude,对应的pom.xml就已经成功修改了。(IntelliJ IDEA对于文件的修改都是实时保存的,无须Ctrl+S)

时间: 2024-10-23 05:17:50

IntelliJ IDEA查找依赖关系,解决jar包冲突的相关文章

idea升级maven工程jar包版本和解决jar包冲突

原来用过eclipse的都知道,想要升级maven工程的jar包版本或者解决jar包冲突,直接在pom文件下的dependency hierarchy视图下右击冲突的jar包,将其exclude掉,然后在pom文件的dependencies视图下点击add按钮,然后添加自己需要的jar包即可.在公司用的是idea,还不是很熟悉,摸索之下在maven窗口中点击show dependencies出现jar包的依赖关系图,如下图所示:                                  

Maven 解决JAR包冲突

在JAR 冲突的情况下, 利用Eclipse方式解决JAR包冲突时比较方便简洁的,步骤如下 1. 在Eclipse 中打开pom.xml , 选择  “Dependency  Hierarchy” 2, 在Filter 输入框中,输入冲突的jar,  比如: slf4j 3. 右边会显示所有依赖此包的JAR包 4.  如果你需要排除 冲突, 可以右键单击: 选择  exclude Maven artifact... 进行以上操作后, MAVEN 的依赖关系如下(举列如下:) 排除前: <depe

sbt发布assembly解决jar包冲突问题 deduplicate: different file contents found in the following

一.问题定义 最近在用sbt打assembly包时出现问题,在package的时候,发生jar包冲突/文件冲突问题,两个相同的class来自不同的jar包在classpath内引起冲突. 具体是:我有一个self4j的jar, 还有一个hadoop-common-hdfs的jar包,其中hadoop-common-hdfs.jar内包含了self4j这个jar包,导致冲突. 此类异常一般是由于打包不规范和打包疏忽引起的. (个人认为正确的打包策略是:只打包自己核心功能,不将依赖打包在一起,但是有

sbt公布assembly解决jar包冲突 deduplicate: different file contents found in the following

一个.问题定义 近期使用sbt战斗assembly发生故障时,包,在package什么时候,发生jar包冲突/文件冲突,两个相同class来自不同jar包classpath内心冲突. 有关详细信息:我有一个self4j的jar, hadoop-common-hdfs的jar包.当中hadoop-common-hdfs.jar内包括了self4j这个jar包,导致冲突. 此类异常通常是由于打包不规范和打包疏忽引起的. (个人觉得正确的打包策略是:仅仅打包自己核心功能.不将依赖打包在一起.可是有时为

解决jar包冲突问题

1.引入问题 1.1.导入jar包时maven会自动将该jar包所依赖的jar包也一起导入进来,比如spring-context依赖spring-beans.spring-beans依赖spring-core,在导入spring-context时会同时自动导入spring-beans.spring-core 1.1.1.maven依赖 <dependencies> <dependency> <groupId>org.springframework</groupId

NoSuchMethodError idea解决jar包冲突

报NoSuchMethodError(使用spring boot框架idea)一般是jar包冲突 Exception in thread"main" java.lang.NoSuchMethodError:org.springframework.http.MediaType.getCharset()Ljava/nio/charset/Charset; maven工程,一个artifact的jar包可能不只一处被依赖:有时候依赖会出现相同的artifact却不同版本,相互存在冲突,这时就

Maven解决jar包冲突

在使用Maven时,经常会遇到jar包冲突的问题,解决办法: 在pom.xml文件中使用maven的exclusions工具,语法如下: 避免hadoop-client-2.2.0.jar引入hadoop-hdfs-2.2.0.jar <dependency> <groupId>org.apache.hadoop</groupId> <artifactId>hadoop-client</artifactId> <version>2.2

MaverHelper解决jar包冲突

1.打开pom文件,点击下方的Dependency Analyzer 2. 红色代表没有使用到的版本,即冲突:有JumpToSource跳转到原码命令和添加Exclude命令 其中Jump命令跳转到原码位置,你可以自己添加<exclusion>标签 Exclude命令可帮你做上面一步:如果点击没有作用那就点击上一步到原码提示的位置添加 <exclusions> <exclusion> <artifact>和<group>标签复制要排除的jar包

weblogic解决jar包冲突

前言 在项目中利用POI开发excel.word的导入导出功能,而POI在解析xlsx及docx两种高版本文档时需要依赖xmlbeans包,但weblogic容器中提供了低版本的xmlbeans,从而导致报错: Caused by: java.lang.NoSuchMethodError: org.apache.xmlbeans.XmlOptions.setLoadEntityBytesLimit(I)Lorg/apache/xmlbeans/XmlOptions; at org.apache.