在使用Gradle构建的Spring Boot应用程序中覆盖Spring Framework版本
如果要使用或僅通過Spring Boot檢查Spring的最新版本,但當前的Spring Boot版本取決于舊的Spring版本,則需要稍微調整Gradle構建配置。
例如,在撰寫本文時,Spring 4.2.1和Spring Boot 1.2.5是當前版本。 Spring Boot 1.2.5依賴于Spring 4.1.7。 那么,如何將Spring 4.2.1與Spring Boot 1.2.5一起使用呢? 看一下實現此目標的兩種方法:使用和不使用Spring IO Platform。
Spring IO平臺
Spring IO Platform的想法是提供已知通過Maven的依賴管理一起工作的庫的版本。 您應該為項目考慮Spring IO Platform的主要原因是,您不需要關心Spring項目的依賴版本及其依賴關系。
Gradle還通過依賴項管理插件來支持該平臺,該插件提供了類似Maven的依賴項管理功能。 要使用它,您只需將平臺的BOM導入到應用程序的build.gradle文件中:
dependencyManagement {imports {mavenBom 'io.spring.platform:platform-bom:1.1.3.RELEASE'} }如果您碰巧由Spring Initializr生成項目,您會注意到Gradle的依賴管理插件已經包含在內。 剩下的事情就是添加依賴項管理配置,如上所示導入BOM并添加沒有版本的依賴項-版本由BOM提供。
覆蓋依賴版本
重寫依賴的版本是一樣容易改變的依賴版本屬性,可以發現價值BOM及其祖先在這里和這里 。
可以在gradle.properties文件中更改屬性:
spring.version = '4.2.1.RELEASE'或在build.gradle文件中:
ext['spring.version'] = '4.2.1.RELEASE'上述屬性定義了Spring框架的版本。 覆蓋它可以讓您在Spring Boot應用程序中調整Spring版本。
- 完整的文件: https : //gist.github.com/kolorobot/71f0f208ffcd7c5979e7
假設您已安裝Gradle 2.6,請執行dependencyInsight任務:
gradlew dependencyInsight --dependency org.springframework如下所示,Spring Boot 1.2.5所需的Spring 4.1.7已解析為Spring 4.2.1:
[...]org.springframework:spring-webmvc:4.1.7.RELEASE -> 4.2.1.RELEASE \--- org.springframework.boot:spring-boot-starter-web:1.2.5.RELEASE\--- compile org.springframework:spring-webmvc:4.1.7.RELEASE -> 4.2.1.RELEASE \--- org.springframework.boot:spring-boot-starter-web:1.2.5.RELEASE\--- compile [...]在沒有Spring IO平臺的情況下覆蓋Spring版本
如果您對平臺不熟悉或不愿意使用它,則可以選擇一種簡單的解決方法,并使用以下配置替換Spring框架的版本:
configurations.all {resolutionStrategy.eachDependency { DependencyResolveDetails details ->if (details.requested.group == 'org.springframework') {details.useVersion "4.2.1.RELEASE"}} }- 完整文件: https : //gist.github.com/kolorobot/b5db05f6a5930642e6e3
翻譯自: https://www.javacodegeeks.com/2015/09/override-spring-framework-version-in-spring-boot-application-built-with-gradle.html
總結
以上是生活随笔為你收集整理的在使用Gradle构建的Spring Boot应用程序中覆盖Spring Framework版本的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓版三国杀和苹果版三国杀账号通用吗(安
- 下一篇: spring mvc拦截器_Spring