【开源中国 APP 全新上线】“动弹” 回归、集成大模型对话、畅读技术报告”
基于springboot的java工程,生产环境无法注入依赖的jar包中的bean,其中依赖的jar包为自定义工程,并且是使用spring配置文件注入的(注解注入的依赖工程,就没有问题),并且测试环境和在idea上运行也同样没有问题。tomcat8 错误提示:
org.springframework.beans.factory.UnsatisfiedDependencyException: Errr
or creating bean with name ...
org.springframework.beans.factory.BeanCreationException: Error creatii
ng bean with name ...
这个问题藏的太深了。工程里引用了一个jar A,这个 A 用了rpc框架,并且需要一个消费一个服务 S。 A 引用了 jar B, B只是rpc框架的配置及model,服务接口的集合。 B中有一个用来测试的demo,这个demo就是配置了 S,demo的配置文件写死指向了测试环境的ZK地址。提问的这个工程使用@ImportResource把所有配置文件都加载了,也就是说,B中的要使用的 S 是在这个测试的配置文件被注入的。生产环境无法连接测试环境的ZK(此处报错了,但是想到zk连不上也不影响工程的使用,就没在意,就想着先处理提问的问题了),所以S没有bean不能获取实例,引用S的服务。。。环环相扣所有的服务都没法创建bean了
解决了和我说下怎么解决的。我猜测检查依赖的包或者类是否存在,测试环境能否确定是真的没问题?是不是依赖包没打进去
是不是自己的 bean 没有注解 或者没有扫描到?