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:可以制定查询条件

显示结果

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

可参考的类似文章

相关推荐
回到原点的码农4 小时前
Spring Data JDBC 详解
java·数据库·spring
gf13211114 小时前
python_查询并删除飞书多维表格中的记录
java·python·飞书
zb200641204 小时前
Spring Boot 实战:轻松实现文件上传与下载功能
java·数据库·spring boot
一勺菠萝丶4 小时前
Flowable + Spring 集成踩坑:流程结束监听器查询历史任务为空 & 获取不到审批意见
java·数据库·spring
jwn9994 小时前
Spring Boot 整合 Keycloak
java·spring boot·后端
宁波阿成4 小时前
OpenClaw 在 Ubuntu 22.04.5 LTS 上的安装与问题处理记录
java·linux·ubuntu·openclaw·龙虾
mldlds4 小时前
SpringBoot详解
java·spring boot·后端
kang_jin4 小时前
Spring Boot 自动配置
java·spring boot·后端
sg_knight4 小时前
如何用 Claude Code 做大型项目重构与架构优化
java·重构·架构·llm·claude·code·claude-code
码不停蹄Zzz4 小时前
C语言——神奇的static
java·c语言·开发语言