是否有关于如何将Spring版本升级到Spring 5.0的教程?我在pom.xml中找不到Spring版本。
但它没有说明实际更改版本号的位置。
我正在使用Spring Boot 1.3。如果我升级到Spring Boot 2.0,会自动将我的Spring版本升级到5吗?
谢谢!
答案 0 :(得分:10)
Spring Boot项目(使用Spring Boot依赖项的项目)必须不显式设置各个Spring依赖项。这些依赖项由您声明的Spring Boot核心工件提取。这通常是通过您声明为项目父pom的spring-boot-starter-parent
来完成的
这是Spring Boot的一大优势,可以帮助您识别和声明可以很好地协同工作的依赖项
因此,为了将项目更新到Spring 5(实际发布的版本),您必须将spring-boot-starter-parent
父声明从1.3更新为2.X(或spring-boot-dependencies
'依赖版本你没有使用入门父母。)
你确实可以在the release note of Spring Boot 2中读到:
Spring Boot 2.0构建于Spring Framework 5之上,并且需要它。
请注意,从Spring Boot 1.3(旧版本)到Spring Boot 2(最新版本)的更新可能会导致您的应用程序出现一些回归。
因此,您应该仔细测试您的应用程序,以确定所有这些
Spring-Boot-2.0-Migration-Guide也是缓解迁移的好资源。
要检查Spring Boot提取的Spring依赖项的版本,您可以信赖dependency:tree
目标。
通过将org.springframework.boot:spring-boot-starter:jar:2.0.2.RELEASE
声明为项目的父级,您可以获得以下内容:
$ mvn dependency:tree [INFO] Scanning for projects... [INFO] [INFO] ---------------------------------------------------- [INFO] Building demo 0.0.1-SNAPSHOT [INFO] --------------------------------[ jar ]--------------------------------- [INFO] [INFO] --- maven-dependency-plugin:3.0.2:tree (default-cli) @ demo --- [INFO] com.example:demo:jar:0.0.1-SNAPSHOT [INFO] +- org.springframework.boot:spring-boot-starter:jar:2.0.2.RELEASE:compile [INFO] | +- org.springframework.boot:spring-boot:jar:2.0.2.RELEASE:compile [INFO] | | \- org.springframework:spring-context:jar:5.0.6.RELEASE:compile [INFO] | | +- org.springframework:spring-aop:jar:5.0.6.RELEASE:compile [INFO] | | +- org.springframework:spring-beans:jar:5.0.6.RELEASE:compile [INFO] | | \- org.springframework:spring-expression:jar:5.0.6.RELEASE:compile [INFO] | +- org.springframework.boot:spring-boot-autoconfigure:jar:2.0.2.RELEASE:compile [INFO] | +- org.springframework.boot:spring-boot-starter-logging:jar:2.0.2.RELEASE:compile` ...
你可以做一个"干跑"通过https://start.spring.io/
答案 1 :(得分:0)
您可以通过检查spring-boot-starter-X
来找到pom.xml
的Spring Framwork版本。导航到其父pom,直到到达spring-boot-dependencies-VERSION.pom
。使用InteliiJ,在pom文件中,我可以通过单击文件中的引用轻松导航到父pom。我猜(或希望)您可以在其他IDE中执行相同的操作。查找属性<spring.version>
,它是Spring Framwork版本。
例如,我正在使用spring-boot-starter-web-1.3.8.RELEASE.jar
。它的父pom为spring-boot-dependencies-1.3.8.RELEASE
,其中包括值为<spring.version>
的属性4.2.8.RELEASE
。
您可以通过在pom中覆盖此属性来更改Spring Framwork版本,该属性包括spring-boot-starter-X
依赖项,但它是not recommended。另请注意,在更高版本上,属性名称为changed至spring-framework.version
。