在自定义Spring Boot自动配置项目中处理不同的Spring Boot版本

时间:2017-12-21 13:59:48

标签: spring-boot spring-boot-starter

在自定义Spring Boot Autoconfiguration项目中,我通常会有一些标记为可选的依赖项。因为我需要它们进行编译,但希望我的autoconfig的用户手动将它们包含在自己的POM中,或者它们将由Spring Boot依赖项提供。

如何确保不同Spring Boot版本的用户可以在没有依赖/版本问题的情况下使用我的autoconfig?

我看到两个非最佳解决方案;还有更多?

希望API保持不变

希望我的依赖关系的API在次要版本更改时保持稳定,这样如果我开发并编译了我的Autoconfig,例如使用Spring Boot 1.4.x,我使用的API与1.5.x等相同。

然后,我不一定希望它可以工作,例如对于Spring Boot 2.x,并在自述文件中添加相应的注释。

明确跟踪每个Spring Boot版本

至少为每个次要的Spring Boot版本明确构建一个版本,但是甚至可能为每个Patch版本构建一个版本?谁知道什么时候会发生破坏性的API变化。然后我需要记录我的autoconfig的确切Spring Boot版本。但这是一项很多工作。

当然,Spring Boot自己的autoconfig项目是与Spring Boot一起开发的,因此任何问题都将在同一版本中修复。

但我自己的autoconfig可能已经开发过一次,之后不会发生很多变化。 我如何确保我的autoconfig尽可能长时间地保持工作,即使是"用户"我的autoconfig正在更新他们的Spring Boot版本依赖项?

0 个答案:

没有答案