我正在创建一个共享库,将在我公司的许多项目中使用。这些项目基于不同的 Spring-Boot 版本。相同版本的库将无法工作(据我所知),例如在 Spring Boot 3.0.0 和 2.7.10 项目上。我不知道在这种情况下进行版本控制的最佳实践是什么。我相信我不应该为 SB 2.7 制作库版本 1.0.0,为 SB 3.0.0 制作库版本 2.0.0,因为在某些时候,由于重大更改,我可能需要增加库中的主要版本,而我不会'不能将 1.X.Y 增加到 2.0.0。
这个问题有什么解决办法吗?我应该在每个版本的工件名称中附加一些内容吗?
没有真正的标准方法。你可以:
my-cool-library-sb2
,my-cool-library-sb3
。springboot2
和 springboot3
。第一种方法的缺点是,人们在更新 POM 中的版本时可能会意外地从 Spring Boot 2 切换到 Spring Boot 3。
第二种方法的缺点是您可能会意外加载这两个库(通过传递依赖项),因为它们不再共享相同的坐标。
第三种方法的缺点是两个工件只有一个 POM,这意味着所有依赖项必须位于同一版本中。