网站首页 全球最实用的IT互联网站!

人工智能P2P分享Wind搜索发布信息网站地图标签大全

当前位置:诺佳网 > 软件工程 > 后端开发 > Java >

统一管理第三方包的依赖包版本号

时间:2025-10-15 10:10

人气:

作者:admin

标签:

导读:起因 在java项目中,我在maven的pom.xml中引用了io.github.officiallysingh:spring-boot-starter-spark:1.3包,然后这个包里又有org.apache.spark:spark-core_2.13:3.5.5包的引用,而在spark-cor...

在java项目中,我在maven的pom.xml中引用了io.github.officiallysingh:spring-boot-starter-spark:1.3包,然后这个包里又有org.apache.spark:spark-core_2.13:3.5.5包的引用,而在spark-core_2.13包中又引用了org.apache.avro:avro-mapred:1.11.4包,这个包的版本0.10.0修改为0.9.0,我们如何实现呢?

  • 通过在dependencyManagement中声明三方包的版本,来在自己项目中,将所有指定包的版本进行统一,并且包版本不同产生的冲突

图片

在当前项目的pom.xml中添加代码

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-dependencies</artifactId>
            <version>${spring-boot-dependencies.version}</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
        <dependency>
            <groupId>org.apache.avro</groupId>
            <artifactId>avro-mapred</artifactId>
            <version>1.11.3</version>
        </dependency>
</dependencyManagement>

刷新依赖之后,可以看到三方包里的依赖包avro-mapred版本已经改变了

图片

下面这个表格总结了你可以在项目中使用的三种主要策略。

方法 操作方式 适用场景与说明
???? 直接声明依赖 <dependencies> 中直接声明你想要的 jersey-client 版本。 最简洁直接,适用于单模块项目,快速覆盖传递依赖的版本。
???? 依赖管理 <dependencyManagement> 中统一管理 jersey-client 的版本。 推荐用于多模块项目,可以保证所有模块使用的版本一致,避免冲突。
????️ 排除+引入 先通过 <exclusions> 排除旧版本,再显式引入新版本。 最严格的控制,确保构建时不会引入冲突的旧版本,但配置稍显繁琐。

作者:仓储大叔,张占岭,
荣誉:微软MVP
QQ:853066980

支付宝扫一扫,为大叔打赏!

温馨提示:以上内容整理于网络,仅供参考,如果对您有帮助,留下您的阅读感言吧!
相关阅读
本类排行
相关标签
本类推荐

CPU | 内存 | 硬盘 | 显卡 | 显示器 | 主板 | 电源 | 键鼠 | 网站地图

Copyright © 2025-2035 诺佳网 版权所有 备案号:赣ICP备2025066733号
本站资料均来源互联网收集整理,作品版权归作者所有,如果侵犯了您的版权,请跟我们联系。

关注微信