2012-09-20 24 views
5

Obteniendo el siguiente error al intentar ejecutar una aplicación spring mvc con hibernate en eclipse.No se pudo inicializar la clase net.sf.cglib.proxy.Enhancer

java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer 
org.springframework.aop.framework.Cglib2AopProxy.createEnhancer(Cglib2AopProxy.java:229) 
org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy.java:171) 
org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:112) 
org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.createProxy(AbstractAutoProxyCreator.java:476) 
org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:362) 
org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:322) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsAfterInitialization(AbstractAutowireCapableBeanFactory.java:407) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1461) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:519) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 
org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:876) 
org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:818) 
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:735) 
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAnnotationBeanPostProcessor.java:551) 
org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:87) 
org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessPropertyValues(AutowiredAnnotationBeanPostProcessor.java:284) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1106) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:517) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 
org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidates(DefaultListableBeanFactory.java:876) 
org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:818) 
org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:735) 
org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:795) 
org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:723) 
org.springframework.beans.factory.support.ConstructorResolver.autowireConstructor(ConstructorResolver.java:196) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.autowireConstructor(AbstractAutowireCapableBeanFactory.java:1035) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:939) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:485) 
org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:294) 
org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:225) 
org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:291) 
org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:193) 
org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:609) 
org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) 
org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:469) 
org.springframework.web.servlet.FrameworkServlet.configureAndRefreshWebApplicationContext(FrameworkServlet.java:631) 
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:588) 
org.springframework.web.servlet.FrameworkServlet.createWebApplicationContext(FrameworkServlet.java:645) 
org.springframework.web.servlet.FrameworkServlet.initWebApplicationContext(FrameworkServlet.java:508) 
org.springframework.web.servlet.FrameworkServlet.initServletBean(FrameworkServlet.java:449) 
org.springframework.web.servlet.HttpServletBean.init(HttpServletBean.java:133) 
javax.servlet.GenericServlet.init(GenericServlet.java:160) 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) 
org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) 
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) 
org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1001) 
org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:585) 
org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) 
java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110) 
java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603) 
java.lang.Thread.run(Thread.java:679) 

He colocado cglib-nodep-2.2.3 .jar en mi carpeta WEB-INF/lib, pero estoy continua para obtener el mismo error. No estoy seguro de por qué ya que la clase está allí en el contenedor. Recibo el mismo mensaje de error si el contenedor está o no allí.

Respuesta

0

Te falta jar. Creo que cglib-nodep-2.2.3.jar no incluye la clase net.sf.cglib.proxy.Enhancer que necesita. Debe intentar http://www.jarfinder.com/index.php/java/search/~net.sf.cglib.proxy.Enhancer~ para encontrar qué archivo jar incluye esta clase y agregar uno de estos archivos jar para compilar la ruta.

Si encuentra que su clase está contenida en el cual frasco, después de la adición de su lib a carpeta WEB-INF/lib,

  • Haga clic derecho sobre su proyecto
  • Path Haga clic en Generar> Configurar Vía de construcción. ..
  • Elija la etiqueta Bibliotecas y haga clic en Agregar JAR ...
  • Apunte su jar y haga clic en Aceptar.
  • Reconstruye y ejecuta de nuevo.
+0

Eso es lo que pasa, INCLUYE la clase. Puedo verlo claramente cuando amplío el contenedor en la ventana del Explorador de proyectos. – AlyoshaKaramazov

+0

¿Quiere decir que el archivo de clase ya está incluido en el archivo jar? Y todavía NoClassDefFoundError encontrado ?? – swemon

+0

Edito mi respuesta para agregar el jar al camino de compilación. – swemon

2

Ok ya que no hay solución y que se han enfrentado el mismo problema y lo he arreglado así que estoy poniendo mi solución a este problema ..

El

Could not initialize class net.sf.cglib.proxy.Enhancer 

se relaciona con cglib- nodep jar como lo dijo @swemon

Así que incluso después de descargar el último y agregar a mi ruta de compilación no funcionó porque anteriormente tenía una versión anterior que todavía estaba allí en la carpeta JBOSS/deploy/server/myServer/lib. Todo lo que hice fue reemplazar el jar requerido (cglib-nodep.jar con cglib-nodep-2.2.jar) en esta carpeta, hice un buid, reinicié el servidor y terminé.

NB: Su versión para cglib-nodep jar puede ser diferente a la mía. Asegúrate de usar la versión correcta de Jar. NB: 2: Su carpeta de implementación de su servidor puede ser diferente de la mía en función de qué servidor de aplicaciones está utilizando ...

Espero que ayude!

11

Este problema se debe a que no se incluyen las dependencias asm que tiene cglib.

Solución 1: Añadir las versiones correctas de ASM y ASM-util a la ruta de clases

Solución 2: Utilice la versión cglib-nodep (que incluye tanto las dependencias ASM).

0

Después de mucho tiempo de depuración, obtuve la solución.Sólo hay que cambiar la AOP: config junto con los tarros añadido correctamente como se ha señalado anteriormente,

AOP: config proxy-target de clase = "true"

Chaitanya!

Cuestiones relacionadas