这几天启动项目时遇到了Error creating bean with name 'globalTransactionScanner' defined in class path reso报错,查看了很多资料,都解决不了。后来一次尝试后成功解决了问题。
首先我们要知道报这个错的原因是什么:从报错信息显示是创建globalTransactionScanner这个报错了,他在io/seata/spring/boot/autoconfigure/SeataAutoConfiguration.class这个目录下的文件找不到,那怎么解决,首先我们看,他其实是一个和seata相关的东西。那么我们就有方向了,去找seata相关的。接下来就是重点了。我去看了一下nacos里的配置,好家伙原来是配置这边错了
13:30:06.738 [main] WARN o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext - [refresh,591] - Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'globalTransactionScanner' defined in class path resource [io/seata/spring/boot/autoconfigure/SeataAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.seata.spring.annotation.GlobalTransactionScanner]: Factory method 'globalTransactionScanner' threw exception; nested exception is java.lang.ExceptionInInitializerError
13:30:06.772 [main] ERROR o.s.b.SpringApplication - [reportFailure,824] - Application run failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'globalTransactionScanner' defined in class path resource [io/seata/spring/boot/autoconfigure/SeataAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [io.seata.spring.annotation.GlobalTransactionScanner]: Factory method 'globalTransactionScanner' threw exception; nested exception is java.lang.ExceptionInInitializerError
at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658)
at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:638)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582)
at org.springframework.be
解决方法:
去看nacos里的配置
到这一步没有解决的话,你要去看一下你的nacos里yml文件是不是配置写错了。里面有没有seata。
接下来你可能还会遇到datasource那种报错,这里解决其实是一样的,但是你要去看nacos里yml文件配置账号密码是否错误了