문제해결/원도우

스프링 빈 오류org.springframework.beans.factory.cannotloadbeanclassexception

m6ydz642 2021. 2. 6. 20:01

스프링으로 프로젝트를 하던중 갑자기 알 수 없는 오류가 발생하여 빈오류가 생겼다

 

그래서 해결방법을 찾아보니 대부분 project clean이었다. 

 

나도 똑같이 따라해보니 되기는 개뿔 똑같은 현상이었다 

 

@Autowired나 servletContext.xml에서 bean id 오류인지 다시 봤는데 그 오류는 아니었다. 

 

bean설정들을 전부 지워보니 이제는 SqlMapping.xml오류가 발생하였다. 

 

그래서 그냥 이클립스 서버를 통째로 지우고 project clean과 일반 서버 clean이 있길래 했는데 

 

바로 이상한 오류가 생기면서 서버 구동시 log4랑 다른 기타 모듈들을 아파치가 못불러오는 현상이 발생했고 

 

이제는 bean 오류 + 아파치 오류까지 같이 생기게 되었다. 

 

그래서 build path에 다른 설정들도 찾아봤는데 jre다시 추가나 unbound된 모듈들을 찾아봤는데 없었다. 

 

모듈을 다시 다 지우고 마침 이클립스 최신버전도 있어서 최신버전으로 옮겼더니 안되는건 당연하고 계속 이상한 오류만 발생했다 

 

 이클립스 workspace에 .metadata를 싹다 지웠더니 기존 이클립스 환경 설정 (테마, 글꼴)등 이 초기화가 되버려서 설정을 다 지우는건 별로 하고싶지 않았다. 

 

project clean을 너무 많이해서 더 이상 clean은 쳐다보고 싶지도 않았을 뿐더러 workspace를 초기화해도 안됐었는데 

 

그냥  아무생각없이 서버 관련된 파일만 지워보자하고 .metadata안에 .plugins폴더에 

 

서버 관련된 파일들만 지우고 그냥 project clean후 서버 재시작을하니 어이없게 거짓말 처럼 되었다. 

 

지운내용은 다음과 같다

 

 

 

어짜피 잘못건드리면 복원하면 되는거라 생각없이 지웠다.  파일이름 적어서 올리려고 memo폴더에 잠시 옮겼었는데 

 

자신의 workspace에 .metadata에 .plugins안에 저 위의 org.해당하는 내용들을 삭제하면 된다. 

 

(감격의 순간 드뎌 스프링 설정 읽어가고 bean오류 안뜨고 서버 실행까지 정상적으로 됨)

 

이후에 저 설정 문구가 뜨는데 난 No를 택했다 초반에 초기화 한번했을때 저 문구에서 yes를 눌렀다 더 이상하게 됐던거 같다 (사실 기억이 정확하게 안남)

 

 

 

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'xxxxx': Injection of autowired dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.xxxDao com.xxx.service.xxxxImpl.xxxDao; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.xxxx.service.sys.impl.ProcEndListener] for bean with name 'procEndListener' defined in file [D:\EclipseWorkSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\xxxxxxx\WEB-INF\classes\com\xxxx\service\sys\impl\ProcEndListener.class]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: org/activiti/engine/delegate/TaskListener
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:288)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1122)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:389)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:294)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:112)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:5099)
at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5615)
at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:147)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1571)
at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1561)
at java.util.concurrent.FutureTask.run(FutureTask.java:262)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.springframework.beans.factory.BeanCreationException: Could not autowire field: private com.xxxx.mapper.kw.bm.xxxDao com.xxxx.service.bm.impl.DtypeServiceImpl.dtypeDao; nested exception is org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.xxxx.service.sys.impl.ProcEndListener] for bean with name 'procEndListener' defined in file [D:\EclipseWorkSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\xxxxxxx\WEB-INF\classes\com\xxxx\service\sys\impl\ProcEndListener.class]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: org/activiti/engine/delegate/TaskListener
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:514)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:285)
... 22 more
Caused by: org.springframework.beans.factory.CannotLoadBeanClassException: Error loading class [com.xxxx.service.sys.impl.ProcEndListener] for bean with name 'procEndListener' defined in file [D:\EclipseWorkSpace\.metadata\.plugins\org.eclipse.wst.server.core\tmp0\wtpwebapps\xxxxxxx\WEB-INF\classes\com\xxxx\service\sys\impl\ProcEndListener.class]: problem with class file or dependent class; nested exception is java.lang.NoClassDefFoundError: org/activiti/engine/delegate/TaskListener
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1272)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.predictBeanType(AbstractAutowireCapableBeanFactory.java:578)
at org.springframework.beans.factory.support.AbstractBeanFactory.isFactoryBean(AbstractBeanFactory.java:1338)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNaxxxForType(DefaultListableBeanFactory.java:356)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNaxxxForType(DefaultListableBeanFactory.java:335)
at org.springframework.beans.factory.BeanFactoryUtils.beanNaxxxForTypeIncludingAncestors(BeanFactoryUtils.java:187)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:895)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:853)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:768)
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:486)
... 24 more
Caused by: java.lang.NoClassDefFoundError: org/activiti/engine/delegate/TaskListener
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at org.apache.catalina.loader.WebappClassLoaderBase.findClassInternal(WebappClassLoaderBase.java:3175)
at org.apache.catalina.loader.WebappClassLoaderBase.findClass(WebappClassLoaderBase.java:1372)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1860)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1734)
at org.springframework.util.ClassUtils.forName(ClassUtils.java:260)
at org.springframework.beans.factory.support.AbstractBeanDefinition.resolveBeanClass(AbstractBeanDefinition.java:416)
at org.springframework.beans.factory.support.AbstractBeanFactory.doResolveBeanClass(AbstractBeanFactory.java:1290)
at org.springframework.beans.factory.support.AbstractBeanFactory.resolveBeanClass(AbstractBeanFactory.java:1261)
... 33 more
Caused by: java.lang.ClassNotFoundException: org.activiti.engine.delegate.TaskListener
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1891)
at org.apache.catalina.loader.WebappClassLoaderBase.loadClass(WebappClassLoaderBase.java:1734)
... 44 more