gpt4 book ai didi

spring - Maven BOM用于解决Spring + Spring Data + Spring Security的依赖?

转载 作者:行者123 更新时间:2023-12-02 08:06:07 28 4
gpt4 key购买 nike

Spring Data Jpa Docs建议使用 Maven BOM ( bill of materials ),因为:

Due to different inception dates of individual Spring Data modules, mostof them carry different major and minor version numbers. The easiest wayto find compatible ones is by relying on the Spring Data Release Train BOMwe ship with the compatible versions defined. In a Maven project you’ddeclare this dependency in the <dependencyManagement/> section of your POM

引用official example已提供。

我已经了解了 BOM 和 dependencyManagement 。供应商正式向我们(开发人员)提供经过测试/推荐/支持的兼容性列表。 太棒了!

为了同步移动版本,我需要一些“ super BOM”来管理以下 BOM:

org.springframework:spring-framework-bom
org.springframework.data:spring-data-releasetrain
org.springframework.security:spring-security-bom

如何选择兼容的?

是否有适用于所有伞的SPRING-SUPER-BOM(我的意思是官方或社区支持,因此我可以通过避免故障排除来节省时间,如果发生这种情况并且我发现并解决了问题 - 我已经将解决方案返回社区的选项)?

最佳答案

感谢您向 @jumping_monkey 指出 Spring 平台弃用的问题。

现在你应该转发org.springframework.boot:spring-boot-dependencies 。这并不意味着您开始使用 Spring Boot。这仅意味着您正在使用 Spring Boot 托管的依赖管理!

因此您的构建文件可能如下所示:

apply plugin: 'io.spring.dependency-management'
dependencyManagement {
imports {
mavenBom "org.springframework.boot:spring-boot-starter-parent:${projSpringBootVersion}"
mavenBom "org.springframework.cloud:spring-cloud-starter-parent:${projSpringCloudVersion}"
mavenBom "org.springframework.cloud:spring-cloud-gcp-dependencies:${projSpringGcpVersion}"
}
applyMavenExclusions = false
}

请注意,spring-boot-starter-parentspring-cloud-starter-parent 的版本之间仍然存在不确定性。但没关系。至少它们有助于管理 Hibernate/Jeckson/其他版本!

感谢@M.Deinum指向Spring IO platform

该项目提供了各种 Spring 项目及其依赖项的版本。

实际的依赖关系可以在相应的 http://docs.spring.io/platform/docs/ 中检查或来自https://github.com/spring-io/platform/blob/master/platform-bom/pom.xml通过在不同标签查看文件:https://github.com/spring-io/platform/tags

使用本地 Git 克隆很容易做到这一点:

$ git clone https://github.com/spring-io/platform.git
$ cd platform/
$ git tag --list
$ git co v1.0.2.RELEASE
$ less platform-bom/pom.xml

但是您没有在这里找到 spring-core/spring-mvc/string-data/spring- 的依赖项security 因为它们位于父 pom spring-boot-starter-parent 中,实际上还包含 spring-boot-dependency

spring-boot-dependencies 具有版本和依赖项

  • spring-framework-bom
  • spring-data-releasetrain
  • spring-security-bom
  • spring-integration-bom

因此,如果您的应用程序非常广泛 - 您可以使用io.spring.platform:platform-b​​om。但如果这个过于复杂的列表只是使用 org.springframework.boot:spring-boot-dependencies 作为 dependencyManagement

关于spring - Maven BOM用于解决Spring + Spring Data + Spring Security的依赖?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34332444/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com