气死人了,做这个项目的时候初学shardingsphere,参考了两篇文章写写出来,结果出错了
出错原因是sharding-jdbc的版本和springboot版本冲突了。
一开始使用的依赖是:
//spring的依赖使用的是2.4.5版本的
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
//sharding-jdbc的依赖使用的是5.1.1版本的
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
<version>5.1.1</version>
</dependency>
运行时才发现自己之前的项目中的的类都不能导入了,全部的类被其他类使用到的地方都爆红了。
后面经过百度查了好久,才发现自己的ShardingSphere和springboot版本冲突了。
解决办法:
查到了两个springboot和sharding-jdbc没有冲突的两个组合:
组合1:
//spring的依赖使用的是2.4.5版本的
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.5</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
//sharding-jdbc的依赖使用的是4.0.0-RC1版本的
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
<version>4.0.0-RC1</version>
</dependency>
组合2:
//spring的依赖使用的是2.6.13版本的
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.13</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
//sharding-jdbc的依赖使用的是5.1.1版本的
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
<version>5.1.1</version>
</dependency>
这两个组合我自己都实验过了,没有报错。