【问题标题】:Override spring kakfka version覆盖spring kafka版本
【发布时间】:2021-09-28 21:47:47
【问题描述】:

如何包含特定版本的 spring kafka。 Kafka 版本依赖是由 starter parent 导入的 2.5.14。但我想用 2.6.10 版本覆盖它 我该怎么做?

这是我的 Spring Boot 启动器

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.12.RELEASE</version>
</parent>

Kafka 版本依赖为 2.5.14 .

<dependency>
    <groupId>org.springframework.kafka</groupId>
    <artifactId>spring-kafka</artifactId>
</dependency>

【问题讨论】:

标签: spring spring-boot maven spring-kafka dependency-management


【解决方案1】:

在您的项目中 pom.xml 文件覆盖 spring-kafka.version 属性值以提供所需的版本。 如果你想以同样的方式覆盖 kafka 库版本,你可以覆盖 kafka.version 属性值。

<properties>
    <spring-kafka.version><!-- desired spring-kafka version--></spring-kafka.version>
    <kafka.version><!-- desired kafka version--></kafka.version>
</properties>

【讨论】:

  • 确实是这样但是我强烈建议添加一个警告,因为您可能会因此而引入不兼容的依赖项。较新版本的库通常具有较新版本的依赖项(如 spring),这可能会导致不兼容的版本或混合版本,在某些时候会咬你。由于用户使用的是 Spring Boot 2.3,因此升级到包含这些新依赖项的新 Spring BOot 版本可能会更好。
  • @M.Deinum 正确。但是如果您阅读 spring kafka 版本文档,其 2.6.* 版本与 Spring boot 2.3.* 兼容。由于某种原因,我无法使用最新的 sprng 启动版本跨度>
  • 参见project page 了解兼容性矩阵; 2.6(目前为 2.6.10)确实兼容 Boot 2.3.x。但请记住,Boot 2.3 已不受开源支持,并将在 2 月结束生命周期。 github.com/spring-projects/spring-boot/wiki/Supported-Versions 如果要覆盖 Boot 规定的 kafka-clients 版本,也可以参考this
猜你喜欢
  • 1970-01-01
  • 2012-07-13
  • 1970-01-01
  • 1970-01-01
  • 2015-09-20
  • 2022-01-19
  • 2017-12-18
  • 1970-01-01
相关资源
最近更新 更多