qumingzhentmdnan opened a new issue, #32530:
URL: https://github.com/apache/shardingsphere/issues/32530
SpringBoot 3.2.6 and JDK 17, according to the official website
configuration, report the following error when starting the project,May I ask
at which step did I make a mistake?
bug
```java
org.springframework.beans.factory.BeanCreationException: Error creating bean
with name 'dataSource' defined in class path resource
[org/springframework/boot/autoconfigure/jdbc/DataSourceConfiguration$Hikari.class]:
Failed to instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method
'dataSource' threw exception with message: Cannot load driver class:
org.apache.shardingsphere.driver.ShardingSphereDriver
at
org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:648)
~[spring-beans-6.1.8.jar:6.1.8]
at
org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:636)
~[spring-beans-6.1.8.jar:6.1.8]
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1337)
~[spring-beans-6.1.8.jar:6.1.8]
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1167)
~[spring-beans-6.1.8.jar:6.1.8]
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:562)
~[spring-beans-6.1.8.jar:6.1.8]
at
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:522)
~[spring-beans-6.1.8.jar:6.1.8]
at
org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:337)
~[spring-beans-6.1.8.jar:6.1.8]
at
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234)
~[spring-beans-6.1.8.jar:6.1.8]
at
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:335)
~[spring-beans-6.1.8.jar:6.1.8]
at
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:200)
~[spring-beans-6.1.8.jar:6.1.8]
at
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:975)
~[spring-beans-6.1.8.jar:6.1.8]
at
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:962)
~[spring-context-6.1.8.jar:6.1.8]
at
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:624)
~[spring-context-6.1.8.jar:6.1.8]
at
org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754)
~[spring-boot-3.2.6.jar:3.2.6]
at
org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:456)
~[spring-boot-3.2.6.jar:3.2.6]
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:335)
~[spring-boot-3.2.6.jar:3.2.6]
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:1363)
~[spring-boot-3.2.6.jar:3.2.6]
at
org.springframework.boot.SpringApplication.run(SpringApplication.java:1352)
~[spring-boot-3.2.6.jar:3.2.6]
at
com.fjut.shardingsphere.ShardingSphereApplication.main(ShardingSphereApplication.java:12)
~[classes/:na]
Caused by: org.springframework.beans.BeanInstantiationException: Failed to
instantiate [com.zaxxer.hikari.HikariDataSource]: Factory method 'dataSource'
threw exception with message: Cannot load
class: org.apache.shardingsphere.driver.ShardingSphereDriver
at
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:177)
~[spring-beans-6.1.8.jar:6.1.8]
at
org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:644)
~[spring-beans-6.1.8.jar:6.1.8]
... 18 common frames omitted
Caused by: java.lang.IllegalStateException: Cannot load driver class:
org.apache.shardingsphere.driver.ShardingSphereDriver
at org.springframework.util.Assert.state(Assert.java:97)
~[spring-core-6.1.8.jar:6.1.8]
at
org.springframework.boot.autoconfigure.jdbc.DataSourceProperties.determineDriverClassName(DataSourceProperties.java:175)
~[spring-boot-autoconfigure-3.2.6.jar:3.2.6]
at
org.springframework.boot.autoconfigure.jdbc.PropertiesJdbcConnectionDetails.getDriverClassName(PropertiesJdbcConnectionDetails.java:49)
~[spring-boot-autoconfigure-3.2.6.jar:3.2.6]
at
org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration.createDataSource(DataSourceConfiguration.java:55)
~[spring-boot-autoconfigure-3.2.6.jar:3.2.6]
at
org.springframework.boot.autoconfigure.jdbc.DataSourceConfiguration$Hikari.dataSource(DataSourceConfiguration.java:117)
~[spring-boot-autoconfigure-3.2.6.jar:3.2.6]
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
~[na:na]
at
java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
~[na:na]
at
java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
~[na:na]
at java.base/java.lang.reflect.Method.invoke(Method.java:568) ~[na:na]
at
org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:140)
~[spring-beans-6.1.8.jar:6.1.8]
... 19 common frames omitted
```
pom.xml
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.7</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
<version>8.0.26</version>
</dependency>
<!--
https://mvnrepository.com/artifact/com.alibaba/druid-spring-boot-starter -->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>druid-spring-boot-starter</artifactId>
<version>1.2.20</version>
</dependency>
<!--
https://mvnrepository.com/artifact/org.apache.shardingsphere/shardingsphere-jdbc
-->
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-jdbc</artifactId>
<version>5.5.0</version>
<type>pom</type>
<exclusions>
<exclusion>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>shardingsphere-test-util</artifactId>
</exclusion>
</exclusions>
</dependency>
```
application.yml
```properties
spring.datasource.driver-class-name=org.apache.shardingsphere.driver.ShardingSphereDriver
spring.datasource.url=jdbc:shardingsphere:classpath:sharding.yaml=
```
sharding.yaml
```yml
props:
sql-show: true
# 配置模式,单机模式
mode:
type: Standalone
repository:
type: JDBC
datasource:
# 数据源名称
names: write_ds, read_ds
#配置数据源,名称自定义
write_ds:
dataSourceClassName: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
jdbcUrl: jdbc:mysql://192.168.6.136:3306/user
username: remote
password: fujianz123
read_ds:
dataSourceClassName: com.alibaba.druid.pool.DruidDataSource
driverClassName: com.mysql.cj.jdbc.Driver
jdbcUrl: jdbc:mysql://192.168.6.135:3306/user
username: remote
password: fujianz123
# 配置路由规则
rules:
dataSourceGroups:
readwrite_ds:
# 写库数据源名称
writeDataSourceName: write_ds
# 读库数据源名称,多个使用逗号分隔
readDataSourceNames: read_ds
#
事务内读请求的路由策略,可选值:PRIMARY(路由至主库)、FIXED(同一事务内路由至固定数据源)、DYNAMIC(同一事务内路由至非固定数据源)。默认值:DYNAMIC
transactionalReadQueryStrategy: PRIMARY
# 自定义的负载均衡算法名称
loadBalancerName: random
loadBalancers:
# 自定义算法random的名称
random:
# 随机算法
type: RANDOM
round:
# 轮询算法
type: ROUND_ROBIN
weight:
# 加权算法
type: WEIGHT
props:
# 配置权重
slave1: 1
slave2: 2
```
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail:
[email protected]
For queries about this service, please contact Infrastructure at:
[email protected]