Spring IO平台发布管理

标签 spring spring-io

Spring IO platform引入我们使用 Spring IO platform-b​​om 管理我们的项目依赖项。因此,我们不再为单个 Spring 组件(甚至平台库)指定专用版本(并且在覆盖它们时我们很谨慎)。

这种解决方案的缺点是,我们不能像推荐的那样使用新版本的单个组件,例如(昨天)announced Spring Framework 的新版本 4.1.6,直到它集成到 Spring IO 平台的新版本中。

了解更多关于 Spring IO 平台的发布管理会很好。是否有发布新版本的总体计划?我认为实际上 Spring Framework 的新版本会触发 Spring IO 平台的新版本,但情况似乎并非如此(Spring Framework 4.1.5 没有新版本,我想下一个版本将包括Spring 框架 4.1.6)。

对 Spring IO 平台的发布管理的任何见解都会对我很有趣和有帮助。

最佳答案

一般的经验法则是我们每 6-8 周发布一个新版本的平台。这并不是一成不变的,因为有时需要更频繁地发布;例如,解决安全漏洞。

您可能已经知道,该平台构建在 Spring Boot 之上。它扩展了 Spring Boot 的 bom,为许多其他 Spring 项目及其依赖项添加了依赖项管理。一般来说,当新版本的 Spring Boot 发布时,会触发新版本的 Platform 发布。此外,新版本的 Spring Framework 往往会触发新版本的 Spring Boot 的发布。

正如您所观察到的,Spring Framework 4.1.5 和 Spring Boot 1.2.2 是此规则的一个异常(exception)。虽然 Spring Boot 1.2.2 是在 Spring Framework 4.1.5 之后不久发布的,但没有包含这两个版本的平台版本。这样做的原因是 Spring Boot 1.2.2 中存在一些与 Spring Security 相关的错误,我们希望帮助该平台的用户避免这些错误。为了实现这一点,我们决定推迟发布 Platform 1.1.2,直到 Spring Boot 1.2.3 可用并且 Spring Security 问题得到解决。在处于领先地位和对错误进行一些保护之间有一个轻微的权衡。

您应该将平台视为推荐使用的一组版本,但它绝对不是您可以使用的唯一一组版本。在平台的 bom 中使用版本属性是经过深思熟虑的,它使用户可以轻松覆盖版本以满足他们的需求。各种 Spring 项目的负责人非常重视向后兼容性,您应该始终能够毫无困难地升级到任何项目的更新维护版本。在许多情况下,您还可以升级到新的次要版本,但需要更加谨慎。

关于Spring IO平台发布管理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29273507/

相关文章:

spring-io - 无法访问 repo.spring.io - 未经授权

java - Spring IO平台-bom版本方案

gradle - 如何将 Spring IO Platform BOM 和 Spring Boot 与 Gradle 结合使用?

java - Spring Controller中重定向的最佳实践

Java/Spring : How to Instatiate an Object on Server Startup

java - 将 JSON 发布到 Spring Controller

grails - GGTS 下载页面的 404

spring-io - 无法访问 repo.spring.io 进行 Spring-boot 练习

java - mapstruct 不允许创建具有所有可为空字段的对象

spring - 如何在 IntelliJ IDEA 中配置 Spring facet