maven-helper插件解决jar包冲突实战

经常遇到jar包冲突问题,今天梳理一下:

1、打开idea

2、安装后 打开pom文件

点击

3、点击common-io

展示冲突的jar,标红的就是冲突版本,白色的是当前的解析版本。

pom文件多了排除的信息

复制代码
<dependency>
	<groupId>org.springframework.cloud</groupId>
	<artifactId>spring-cloud-openfeign-core</artifactId>
	<exclusions>
		<exclusion>
			<artifactId>commons-io</artifactId>
			<groupId>commons-io</groupId>
		</exclusion>
	</exclusions>
</dependency>

#注释如下
<dependency>
    <groupId>冲突依赖的groupId</groupId>
    <artifactId>冲突依赖的artifactId</artifactId>
    <version>冲突依赖的版本</version>
    <exclusions>
        <exclusion>
            <groupId>要排除的传递性依赖的groupId</groupId>
            <artifactId>要排除的传递性依赖的artifactId</artifactId>
        </exclusion>
    </exclusions>
</dependency>

4、排除指定的版本

刷新后冲突消失

显示无冲突

二、测试验证

1、gt-main 包的验证

gt-main 是 GeoTools 库的核心模块之一,它依赖于多个子模块来提供 GIS 功能。这些子模块在处理地理数据的不同方面扮演着重要角色。gt-main 本身主要是 GeoTools 框架的核心功能,但它依赖的子模块包括:

gt-opengis: 用于实现 OpenGIS 标准的接口。

gt-api: 提供 GeoTools 的通用 API 和接口。

gt-referencing: 处理空间参考系(CRS)和坐标转换。

gt-data: 处理数据源和数据存储。

gt-coverage: 支持栅格数据的处理和操作。

这些模块共同支持 gt-main,提供对不同地理信息处理和数据格式的支持。

但是gt-main源码包的pom文件中没有找到gt-opengis 配置

因此,只能收到添加到pom文件了

复制代码
             <dependency>
                 <groupId>org.geotools</groupId>
                 <artifactId>gt-opengis</artifactId>
                 <version>28.0</version>
             </dependency>

2、通过命令查看是否有jar包冲突

复制代码
 mvn dependency:tree

 mvn dependency:tree -Dverbose -Dincludes=要查询的jar包

 #首先可以在上图中看出来该jar包所对应pom.xml配置的groupId和artifactId为jakarta.validation:jakarta.validation-api,中间是冒号分隔的,
  • dependency:tree:表示树状显示。
  • -Dverbose:表示可以显示所有的引用,包括因为多次引用重复而忽略的。
  • -Dincludes:可以制定查询条件

显示结果

到此,暂时分享告一段落,后续继续更新,敬请期待!

可参考的类似文章

相关推荐
Co_Hui38 分钟前
Java 并发编程
java
long3162 小时前
Java 新手入门与实战开发指南
java·开发语言
执笔画流年呀2 小时前
Linux搭建Java项目部署环境
java·linux·运维
程序员天天困2 小时前
Arthas ognl 表达式从入门到实战:掌握在线调试最强的表达式引擎
java·jvm·后端
IT_Octopus3 小时前
Spring Boot 中 ThreadLocal 请求上下文的完整生命周期
java·spring boot·spring
用户40966601317513 小时前
Lombok 你用对了吗?@Data 之外的 6 个隐藏神器
java·后端·代码规范
梅头脑3 小时前
交易跨10个库、日均千万订单——选错一次分布式事务方案,加班三个月重写
java·分布式
久久学姐4 小时前
基础转码学 AI:Java+Python 双语言入门,3 个月可落地实战项目
java·python·ai·转码·实战项目
花生了什么事o4 小时前
synchronized 与 ReentrantLock:Java 锁机制原理与实现对比
java·开发语言
长不胖的路人甲5 小时前
Serial 串行、Parallel 并行、CMS 并发收集器
java·开发语言·jvm