`

检查maven 项目jar包依赖是否冲突

阅读更多
在项目发布的时候,一般都需要进行依赖冲突检查或者重复类的检查,这个时候我一般会使用下面的两个命令:
 
1
2
3
mvn -U clean package -Dmaven.test.skip=true enforcer:enforce -DcheckDeployRelease_skip=true -Denforcer.skip=false
 
mvn -U dependency:tree -Dverbose
 
dependency tree是检查版本冲突的
enforcer:enforce是用来检查重复类的
 
 
简单地用 dependency:tree往往并不能查看到所有的传递依赖。不过如果你真的想要看所有的,必须得加一个 -Dverbose参数,这时就必定是最全的了。
全是全了,但显示出来的东西太多有时候会很烦,加上 Dincludes或者 Dexcludes,就会包含或者排除你指定的依赖了, dependency:tree就会帮你过滤出来:比如:
mvn dependency:tree -Dverbose -Dincludes=asm:asm 就会出来asm依赖包的分析信息。
 

解决办法

1)开发在本地执行此命令可以检查Jar包版本冲突:mvn -X compile dependency:tree -Dverbose >a.log,然后在a.log文件里查找 是否有"omitted for conflict with",如果有,则表示jar包有版本冲突 ;

注意:有版本冲突的也会显示编译成功的。mvn dependency:tree -Dverbose | grep "omitted for conflict with" )

分享到:
评论

相关推荐

    JSONObject相关jar包和maven管理jar包

    Maven通过在项目对象模型(Project Object Model, POM)文件中定义依赖,可以自动下载并管理所需的jar包,包括JSONObject,简化了项目的构建和部署过程。 **标签解析:** “JSONObject jar”标签明确了我们的讨论...

    ​实现maven项目中多版本依赖兼容使用解决方案

    然而,当项目引入多个库时,可能会遇到依赖冲突的问题。依赖冲突通常发生在两个或更多库使用相同类的不同版本时,Maven默认会选择最高版本的依赖,但这可能导致运行时错误或不兼容性。在本案例中,公司需要使用一个...

    maven仓库 jar包

    在Java开发中,Maven仓库是一个至关重要的组成部分,它存储了大量的jar包,这些包包含了各种预编译的类和库,使得开发者无需从零开始构建项目。Maven仓库分为本地仓库、中央仓库和远程仓库,其中"maven-repository...

    maven冲突jar包清理脚本

    构建maven工程时pom.xml中引入依赖时有红色字体,setting处理了,也将jar包的版本号都试了一遍,还是没解决,后来请教大牛,原来是没连网,maven工程加载了一部分jar包,连网之后自动下载的jar包跟之前的冲突,用这...

    maven项目编译jar包

    Maven通过POM文件管理项目的依赖关系,它会自动下载并管理项目所需要的库,避免了版本冲突的问题。在`pom.xml`中,你可以列出项目所需的依赖,如: ```xml <groupId>com.example.dependency</groupId> ...

    springBoot非maven项目所需jar包

    电脑暂时没有装maven,最近突发奇想,向在搭建一个spring boot非maven项目,折腾了两个小时,下载jar包冲突问题居多,最后结合网上博客,整理了一份spring boot所需的jar包,亲测没有问题

    maven-JAR包

    POM 还定义了项目依赖关系,Maven 会根据这些依赖关系自动下载所需的 JAR 包,并管理它们之间的版本冲突。 **依赖管理** 在 Maven 中,项目依赖是通过 POM 文件中的 `<dependencies>` 标签来声明的。每个依赖都由...

    Maven搭建Kafka Java开发环境需要的jar包

    标题中提到的"Maven搭建Kafka Java开发环境需要的jar包",意味着我们需要为Maven项目配置Kafka的依赖。首先,我们需要在项目的`pom.xml`文件中添加Kafka的相关依赖。例如,如果我们需要使用Apache Kafka 2.8版本,...

    非maven项目集成minIO所需要的jar包

    在非Maven项目中集成MinIO可能涉及到手动管理依赖项,这确实是一项挑战,因为需要确保所有必需的jar包正确无误。标题和描述提到了在非Maven项目中集成MinIO时可能会遇到的jar包冲突问题。 以下是你提供的压缩包中的...

    maven安装jar包工具

    它允许开发者高效地管理自定义或私有的jar依赖,促进团队协作。通过研究其源码,还可以加深对Maven工作原理的理解。在Java开发环境中,熟练掌握这类工具的使用,对于提高开发效率和代码质量具有积极意义。

    maven批量导入第三方jar包至本地库工具

    在Java开发中,Maven是一个广泛使用的构建工具,它依赖于中央仓库中的各种jar包来构建项目。然而,有时候我们可能需要使用一些不在中央仓库中的第三方库,这就需要我们将这些jar包手动导入到Maven的本地库。"maven...

    maven的本地仓库jar包

    Maven的本地仓库是Maven系统的核心组件之一,它存储着项目所需的各类依赖库,包括JAR包。当你在开发过程中引用了一个库,Maven会尝试从中央仓库下载该库到本地仓库,以便后续的编译和构建步骤能够访问到。 本地仓库...

    示例源码_SpringBoot踩坑记录:IDEA+MAVEN本地 jar 包打包及引入使用_Qc20201217.zip

    在实际操作中,可能会遇到一些坑,例如依赖冲突、jar包未正确打包导致的运行错误等。解决这些问题通常需要检查pom.xml的配置,确认所有的依赖版本协调一致,且打包过程中没有遗漏任何必要的资源文件。对于运行错误,...

    IntelliJ IDEA 批量导出Maven项目依赖的jar包.docx

    ### IntelliJ IDEA 批量导出Maven项目依赖的jar包 #### 一、背景与目的 在Java开发过程中,我们经常需要使用各种第三方库或框架,这些通常是以jar包的形式存在。为了方便项目的构建和部署,我们需要将这些依赖的jar...

    Maven离线依赖包v2

    2. 版本兼容性:需要确保离线包中的依赖版本与项目POM.xml中声明的版本匹配,否则可能会出现版本冲突。 3. 缺少依赖:如果项目需要的某个特定版本不在离线包中,仍需网络下载。 在实际开发中,为了更好地利用Maven...

    maven 3 jar 运行文件打包

    在Java开发中,Maven是一个广泛应用的构建工具,它能够帮助我们管理项目依赖、构建工件(如JAR文件)以及自动化项目的构建过程。当我们想要将Java应用程序打包成可执行的JAR文件时,Maven提供了方便的插件来实现这一...

    检查jar包冲突

    - **MANIFEST.MF检查**:每个`jar`包的`META-INF/MANIFEST.MF`文件可以列出其依赖项,通过比较不同`jar`包的`MANIFEST.MF`,可以初步发现可能的冲突。 - **类路径检查**:查看项目的类路径,确保没有两个相同类的...

    codehaus相关maven jar 包

    在Maven项目中,这些JAR文件通常作为依赖项添加到`pom.xml`文件中。例如,添加Jackson依赖可能如下所示: ```xml <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind <version>...

    maven打包成第三方jar包且把pom依赖包打入进来的方法

    当开发的项目需要打包成JAR文件并分发给其他项目使用时,通常需要将项目依赖的其他JAR包一同打包进去,这就涉及到如何将POM文件中定义的依赖一起打包成一个独立的第三方JAR包。本文将介绍如何利用Maven的相关插件和...

Global site tag (gtag.js) - Google Analytics