Spring Boot 3.0.5与Hibernate Search依赖冲突的解决方案咨询
解决Spring Boot 3.0.5与Hibernate Search Jakarta版本的依赖冲突问题
问题根源
Spring Boot 3.0.5依赖的是Hibernate ORM 6.x(groupId为org.hibernate.orm),而你当前使用的Hibernate Search 6.1.7版本中,hibernate-search-mapper-orm-jakarta依赖的是旧版Hibernate Core 5.6.x的Jakarta适配版本,两者依赖的hibernate-commons-annotations版本(5.1.2.Final vs 6.0.6.Final)不兼容,导致依赖冲突。
解决方案
升级Hibernate Search到6.2.x及以上版本——从6.2版本开始,Hibernate Search正式支持Hibernate ORM 6.x(适配Jakarta Persistence 3.x,完全匹配Spring Boot 3的生态),彻底解决版本冲突问题。
调整后的Maven依赖配置如下:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <!-- 适配Hibernate ORM 6.x的Hibernate Search版本 --> <dependency> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-mapper-orm-jakarta</artifactId> <version>6.2.5.Final</version> <!-- 可选用最新的6.2.x稳定版 --> </dependency> <dependency> <groupId>org.hibernate.search</groupId> <artifactId>hibernate-search-backend-lucene</artifactId> <version>6.2.5.Final</version> </dependency>
额外说明
- 无需手动修改Spring Boot默认的Hibernate Core版本,保持Spring Boot的依赖管理机制即可,避免引入不必要的兼容性问题。
- Hibernate Search 6.2.x与Spring Boot 3.0.5的Hibernate ORM 6.1.7.Final完全兼容,功能上不会有缺失。
内容的提问来源于stack exchange,提问作者Matt
相关产品推荐
相关产品推荐

