前言
升级的应用为tomcat端应用。在升级过程中必须保证3者全部升级。
升级前版本 | 升级后版本 | |
---|---|---|
spring | 2.5.6.SEC03 | 5.1.7.RELEASE |
jdk | 1.7 | 1.8 |
dubbo | 2.5.3 | 2.7.2 |
为何三者都要升级?
2.5.6版本spring-context并不支持jdk1.8,2.5.3版本的dubbo强依赖2.5.6版本的spring。 所以,如果你的项目也是这三个版本组合,要升级任一时,都必须全部升级。
此处要注意,dubbo要选择2.7.2版本,2.7.0是有Bug的,当然如果你的系统中没有hessian协议的服务,也就可以无视这个Bug,不过还是建议2.7.2,毕竟相比2.7.0也删除调整了一些类。(这一点我很想吐槽,只是更新了2个小版本,甚至可以说是补丁也不为过,却涉及删除类。。。这操作感觉不符合阿里这种大厂该有的。删除类这种调整我认为起码得变更版本号中间的数字。)
建议: 请先升级消费端,再升级服务端
升级jdk
首先,先升级jdk,只需要更改pom.xml中的jdk版本即可。没有什么难度,这里就不展示代码了。
当然要对应的改动打包的jdk版本,还有运行的jdk版本。
升级Spring
引入最新版本的Spring jar包,如果有需要排除的包记得排除。如果你用的是idea,这里推荐maven helper插件可以很直观的看到jar包依赖关系。
<properties>
<spring.version>5.1.7.RELEASE</spring.version>
</properties>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>