javascript
在使用Gradle构建的Spring Boot应用程序中覆盖Spring Framework版本
如果要使用或僅通過(guò)Spring Boot檢查Spring的最新版本,但當(dāng)前的Spring Boot版本取決于舊的Spring版本,則需要稍微調(diào)整Gradle構(gòu)建配置。
例如,在撰寫本文時(shí),Spring 4.2.1和Spring Boot 1.2.5是當(dāng)前版本。 Spring Boot 1.2.5依賴于Spring 4.1.7。 那么,如何將Spring 4.2.1與Spring Boot 1.2.5一起使用呢? 看一下實(shí)現(xiàn)此目標(biāo)的兩種方法:使用和不使用Spring IO Platform。
Spring IO平臺(tái)
Spring IO Platform的想法是提供已知通過(guò)Maven的依賴管理一起工作的庫(kù)的版本。 您應(yīng)該為項(xiàng)目考慮Spring IO Platform的主要原因是,您不需要關(guān)心Spring項(xiàng)目的依賴版本及其依賴關(guān)系。
Gradle還通過(guò)依賴項(xiàng)管理插件來(lái)支持該平臺(tái),該插件提供了類似Maven的依賴項(xiàng)管理功能。 要使用它,您只需將平臺(tái)的BOM導(dǎo)入到應(yīng)用程序的build.gradle文件中:
dependencyManagement {imports {mavenBom 'io.spring.platform:platform-bom:1.1.3.RELEASE'} }如果您碰巧由Spring Initializr生成項(xiàng)目,您會(huì)注意到Gradle的依賴管理插件已經(jīng)包含在內(nèi)。 剩下的事情就是添加依賴項(xiàng)管理配置,如上所示導(dǎo)入BOM并添加沒(méi)有版本的依賴項(xiàng)-版本由BOM提供。
覆蓋依賴版本
重寫依賴的版本是一樣容易改變的依賴版本屬性,可以發(fā)現(xiàn)價(jià)值BOM及其祖先在這里和這里 。
可以在gradle.properties文件中更改屬性:
spring.version = '4.2.1.RELEASE'或在build.gradle文件中:
ext['spring.version'] = '4.2.1.RELEASE'上述屬性定義了Spring框架的版本。 覆蓋它可以讓您在Spring Boot應(yīng)用程序中調(diào)整Spring版本。
- 完整的文件: https : //gist.github.com/kolorobot/71f0f208ffcd7c5979e7
假設(shè)您已安裝Gradle 2.6,請(qǐng)執(zhí)行dependencyInsight任務(wù):
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 [...]在沒(méi)有Spring IO平臺(tái)的情況下覆蓋Spring版本
如果您對(duì)平臺(tái)不熟悉或不愿意使用它,則可以選擇一種簡(jiǎn)單的解決方法,并使用以下配置替換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
總結(jié)
以上是生活随笔為你收集整理的在使用Gradle构建的Spring Boot应用程序中覆盖Spring Framework版本的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 安卓版三国杀和苹果版三国杀账号通用吗(安
- 下一篇: spring mvc拦截器_Spring