Maven解析Cassandra驱动依赖异常:拉取不存在的java-driver-bom版本
解决Spring Boot 3.2.4集成Cassandra Driver 3.11.5的Maven构建失败问题
问题根源
Spring Boot 3.2.4的spring-boot-starter-data-cassandra默认依赖**Datastax OSS Java Driver 4.x+**系列,该系列从4.x版本开始引入BOM管理。而你指定的3.11.5是旧版DataStax Cassandra Driver(非OSS系列)的版本,不存在对应的com.datastax.oss:java-driver-bom,因此Maven拉取依赖时会报错。
解决方案
无需通过cassandra-driver.version属性控制版本,直接排除starter中自带的OSS驱动依赖,手动引入3.11.5版本的旧驱动即可:
排除starter中的OSS驱动模块
在spring-boot-starter-data-cassandra依赖中添加排除规则,移除所有OSS相关的驱动组件:<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-cassandra</artifactId> <exclusions> <exclusion> <groupId>com.datastax.oss</groupId> <artifactId>java-driver-core</artifactId> </exclusion> <exclusion> <groupId>com.datastax.oss</groupId> <artifactId>java-driver-query-builder</artifactId> </exclusion> <exclusion> <groupId>com.datastax.oss</groupId> <artifactId>java-driver-mapper-runtime</artifactId> </exclusion> </exclusions> </dependency>手动引入3.11.5版本的旧驱动
添加旧版DataStax Cassandra Driver的核心依赖:<dependency> <groupId>com.datastax.cassandra</groupId> <artifactId>cassandra-driver-core</artifactId> <version>3.11.5</version> </dependency> <dependency> <groupId>com.datastax.cassandra</groupId> <artifactId>cassandra-driver-mapping</artifactId> <version>3.11.5</version> </dependency>
注意事项
Spring Data Cassandra 4.x(对应Spring Boot 3.x)主要适配OSS Driver 4.x+,使用旧版3.11.5驱动时,部分API可能存在兼容性差异,需要检查项目中Cassandra相关代码是否需要调整适配。
内容的提问来源于stack exchange,提问作者hell_storm2004
相关产品推荐
相关产品推荐

