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)


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


修改源码太麻烦,用运维的思路来解决:
1.首先排除tomcat的问题,单独起tomcat没有问题
2.问题可能出在java版本上,原有的服务器使用的是jdk7.0.25,现有的Java使用的是openjdk1.8.101
①可能是openjdk和jdk不兼容

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


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


在centos中卸载openjdk1.8安装jdk1.7.80问题解决
原文地址:https://www.cnblogs.com/reblue520/p/6239708.html