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]

Reply via email to