springboot集成中间件时版本如何选择

kafka使用的难点之一就是他的版本,之前也写过关于版本的一个总结,连带的在springboot集成过程中也很容易出现版本问题,这里结合kafka,借此总结下

如何基于当前的springboot版本,决定是使用对应的默认版本,还是自定义版本

首先打开pom,查看springboot版本如下:

 然后点击箭头的artifactId,进入到spring-boot-starter-parent-2.1.6.RELEASE.pom如下:

 继续点击箭头的artifactId,进入spring-boot-dependencies-2.1.6.RELEASE.pom如下:

重点看properties标签,这里管理的就是该版本的springboot自带的,对应的一些jar包的默认版本号

 上述截图只有一部分,拿我的springboot版本举例,挑了一些重要的

<commons-lang3.version>3.8.1</commons-lang3.version>
<cassandra-driver.version>3.6.0</cassandra-driver.version>
<elasticsearch.version>6.4.3</elasticsearch.version>
<jackson.version>2.9.9</jackson.version>
<jedis.version>2.9.3</jedis.version>
<lettuce.version>5.1.7.RELEASE</lettuce.version>
<lombok.version>1.18.8</lombok.version>
<kafka.version>2.0.1</kafka.version>
<postgresql.version>42.2.5</postgresql.version>
<spring.version>5.1.8.RELEASE</spring.version>
<spring-kafka.version>2.2.7.RELEASE</spring-kafka.version>

最后,拉到下面,点击dependencyManagement收起,可以看到如下:

 这个标签在pom里代表jar包的管理,并没有真正引入这些jar,所以有时候我们在真正引入某些jar的时候并没有写version,依然下载到了对应的jar

下图是在新版本kafka(2.2.1)集成过程中的踩坑走过来的,kafka版本实在是磨人......

SpringBoot:代表springboot的版本,我的是2.1.6

kafka-clients:这是kafka原生的API包

Spring for Apache Kafka version:代表spring集成kafka的插件版本,注意spring-kafka包是包含kafka-clients包的

现在,只需要在maven-repository官网找到2.2.x的spring-kafka的包(尽量挑最新的),导入即可

<dependency>
    <groupId>org.springframework.kafka</groupId>
    <artifactId>spring-kafka</artifactId>
    <version>2.2.11.RELEASE</version>
</dependency>
原文地址:https://www.cnblogs.com/yb38156/p/14718494.html