tomcat启动报错:Injection of autowired dependencies failed

tomcat启动报错:Injectjion of autowired dependencies failed





环境:

操作系统:centos6.5

tomcat: 7.0.52

jdk:openjdk 1.8.101





报错背景:

将原有的tomcat环境移植到新的服务器后,tomcat无法正常启动,报错如下:





严重: StandardWrapper.Throwable

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'com.yunva.common.eventbus.EventBusPostProcessor#0': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException:
Could not autowire field: private com.google.common.eventbus.EventBus com.xxx.common.eventbus.EventBusPostProcessor.eventBus; nested exception is java.lang.IllegalArgumentException

at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:288)

tomcat启动报错:Injection of autowired dependencies failed



搜索了下,大概意思说java的spring无法自动搜索并管理bean服务,需要加入@注解





修改源码太麻烦,用运维的思路来解决:

1.首先排除tomcat的问题,单独起tomcat没有问题

2.问题可能出在java版本上,原有的服务器使用的是jdk7.0.25,现有的Java使用的是openjdk1.8.101

①可能是openjdk和jdk不兼容

将tomcat放在windows上(本地windows刚好有java8环境),启动依旧报错,更换tomcat8问题依旧

tomcat启动报错:Injection of autowired dependencies failed

②可能是jdk版本不兼容,为加快速度在windows中搭建jdk7.0.25,启动ok,于是更新版本的jdk7.0.52也ok,于是判断问题出在jdk版本上





在centos中卸载openjdk1.8安装jdk1.7.80问题解决

上一篇:spring事务详解(二)简单样例


下一篇:[源码解析] PyTorch分布式优化器(3)---- 模型并行