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

显示结果

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

可参考的类似文章

相关推荐
逸Y 仙X2 分钟前
文章二十八:ElasticSearch 运用指标聚合快速统计数值
java·大数据·elasticsearch·搜索引擎·全文检索
霸道流氓气质3 分钟前
SpringBoot+LangChain4j+Ollama+MCP实现智能天气工具调用示例
java·spring boot·后端
sindyra3 分钟前
享元模式(Flyweight Pattern)
java·开发语言·设计模式·享元模式·优缺点
这是程序猿4 分钟前
设计模式入门:Java 单例模式(Singleton)详解,从入门到实战
java·单例模式·设计模式
codingPower4 分钟前
ApplicationListener 和 SpringApplicationRunListener 深度解析对比
java·开发语言·spring boot
ch.ju9 分钟前
Java Programming Chapter 2-Recursion of function
java·开发语言
铁皮哥11 分钟前
【后端开发】RabbitMQ、RocketMQ、Kafka 怎么选?我从业务场景重新梳理了一遍
java·linux·数据库·分布式·kafka·rabbitmq·rocketmq
AC赳赳老秦13 分钟前
数据库操作自动化:用 OpenClaw 对接 Navicat/DBeaver,实现数据备份、脱敏、日常操作自动化
java·运维·数据库·python·oracle·自动化·openclaw
程序员小白条13 分钟前
AI 编程辅助,从入门到真香
java·开发语言·数据库·人工智能·面试·职场和发展