Spring Data Jpa Docs建议使用Maven BOM(bill of materials),原因如下:
由于各个Spring Data模块的启动日期不同,大多数情况都是如此 它们带有不同的主要和次要版本号。最简单的方法 找到兼容的是依靠Spring Data Release Train BOM 我们附带定义的兼容版本。在你的Maven项目中 在POM的
<dependencyManagement/>
部分声明此依赖关系
提供了对official example的引用。
我了解BOM和dependencyManagement
。供应商正式向我们(开发人员)提供经过测试/推荐/支持的兼容性列表。 太棒了!
更改版本的原因 - 获取所需的新功能或注册错误修复。
我仍然可以移动BOM的版本号:
org.springframework:spring-framework-bom
org.springframework.data:spring-data-releasetrain
org.springframework.security:spring-security-bom
如何选择兼容的?
所有保护伞是否有 SPRING-SUPER-BOM (我的意思是官方或社区支持,所以我通过避免故障排除来节省我的时间,如果发生了这种情况,我发现并解决了问题 - 我有一个选择回到社区的解决方案)?
答案 0 :(得分:2)
感谢 @ 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-dependencies
。
spring-boot-dependencies
具有版本和依赖
spring-framework-bom
spring-data-releasetrain
spring-security-bom
spring-integration-bom
因此,如果您的申请非常有效 - 您可以使用io.spring.platform:platform-bom
。但如果过于复杂的列表只使用org.springframework.boot:spring-boot-dependencies
作为dependencyManagement
。