https://github.com/apache/shardingsphere/issues/5657依赖关系:
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-jdbc-spring-boot-starter</artifactId>
<version>4.0.0-RC1</version>
</dependency>
<dependency>
<groupId>org.apache.shardingsphere</groupId>
<artifactId>sharding-core-common</artifactId>
<version>4.0.0-RC1</version>
</dependency>yml配置的一部分:
precise-algorithm-class-name: package-name.my-class-name
range-algorithm-class-name: package-name.my-class-name当我运行java -jar project.jar.....错误信息:
Caused by: java.lang.ClassNotFoundException: package-name.my-class-name
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582) ~[na:na]
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190) ~[na:na]
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499) ~[na:na]
at java.base/java.lang.Class.forName0(Native Method) ~[na:na]
at java.base/java.lang.Class.forName(Class.java:291) ~[na:na]
at org.apache.shardingsphere.core.strategy.route.ShardingAlgorithmFactory.newInstance(ShardingAlgorithmFactory.java:45) ~[sharding-core-common-4.0.0-RC1.jar:4.0.0-RC1]
at org.apache.shardingsphere.core.yaml.swapper.impl.ShardingStrategyConfigurationYamlSwapper.swap(ShardingStrategyConfigurationYamlSwapper.java:75) ~[sharding-core-common-4.0.0-RC1.jar:4.0.0-RC1]
at org.apache.shardingsphere.core.yaml.swapper.impl.TableRuleConfigurationYamlSwapper.swap(TableRuleConfigurationYamlSwapper.java:63) ~[sharding-core-common-4.0.0-RC1.jar:4.0.0-RC1]
at org.apache.shardingsphere.core.yaml.swapper.impl.ShardingRuleConfigurationYamlSwapper.swap(ShardingRuleConfigurationYamlSwapper.java:82) ~[sharding-core-common-4.0.0-RC1.jar:4.0.0-RC1]
at org.apache.shardingsphere.shardingjdbc.spring.boot.SpringBootConfiguration.dataSource(SpringBootConfiguration.java:95) ~[sharding-jdbc-spring-boot-starter-4.0.0-RC1.jar:4.0.0-RC1]
at org.apache.shardingsphere.shardingjdbc.spring.boot.SpringBootConfiguration$$EnhancerBySpringCGLIB$$645084fc.CGLIB$dataSource$0(<generated>) ~[sharding-jdbc-spring-boot-starter-4.0.0-RC1.jar:4.0.0-RC1]
at org.apache.shardingsphere.shardingjdbc.spring.boot.SpringBootConfiguration$$EnhancerBySpringCGLIB$$645084fc$$FastClassBySpringCGLIB$$a4b3c757.invoke(<generated>) ~[sharding-jdbc-spring-boot-starter-4.0.0-RC1.jar:4.0.0-RC1]
at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244) ~[spring-core-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:363) ~[spring-context-5.1.8.RELEASE.jar:5.1.8.RELEASE]
at org.apache.shardingsphere.shardingjdbc.spring.boot.SpringBootConfiguration$$EnhancerBySpringCGLIB$$645084fc.dataSource(<generated>) ~[sharding-jdbc-spring-boot-starter-4.0.0-RC1.jar:4.0.0-RC1]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na]
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[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:564) ~[na:na]
at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.1.8.RELEASE.jar:5.1.8.RELEASE]
... 155 common frames omitted我在IDEA中成功地运行了这个项目
这是一个Spring Boot项目,我将依赖的jar包从应用程序jar包中分离出来。
精确算法类位于正确的类路径中。
出现此问题的原因是依赖的jar包与应用程序jar包分离。
这是个bug吗?
发布于 2021-10-12 03:54:20
这不是开源项目的bug。Caused by: java.lang.ClassNotFoundException: package-name.my-class-name是个例外
问题来自您的示例代码package-name.my-class-name
https://stackoverflow.com/questions/61863906
复制相似问题