2012-09-20 14 views
5

ग्रहण में हाइबरनेट के साथ एक वसंत एमवीसी अनुप्रयोग चलाने की कोशिश करते समय निम्न त्रुटि प्राप्त करना।कक्षा 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) 

मैं अपने वेब-INF/lib फ़ोल्डर में cglib-nodep-2.2.3 .jar रखा है, लेकिन मैं एक ही त्रुटि प्राप्त करने के लिए जारी कर रहा हूँ। निश्चित नहीं है कि जार में कक्षा क्यों है। मुझे वही त्रुटि संदेश मिलता है कि जार वहां है या नहीं।

उत्तर

0

आप जार गायब हैं। मुझे लगता है कि cglib-nodep-2.2.3.jar में net.sf.cglib.proxy.Enhancer श्रेणी शामिल नहीं है। आपको http://www.jarfinder.com/index.php/java/search/~net.sf.cglib.proxy.Enhancer~ को यह पता लगाने के लिए प्रयास करना चाहिए कि कौन सी जार फ़ाइल इस वर्ग को शामिल करती है और पथ बनाने के लिए इन जार फ़ाइल में से एक को जोड़ती है।

यदि आप पाते हैं अपने वर्ग है, जो जार में निहित है कि आप वेब-INF/lib फ़ोल्डर में अपने lib जोड़ने के बाद,

  • सही अपनी परियोजना पर
  • पथ क्लिक बिल्ड क्लिक करें> कॉन्फ़िगर बिल्ड पथ। ..
  • लाइब्रेरी टैग चुनें और JAR जोड़ें पर क्लिक करें ...
  • अपने जार को इंगित करें और ठीक क्लिक करें।
  • पुनर्निर्माण और फिर से चलाएं।
+0

यही बात है, इसमें कक्षा शामिल है। जब मैं प्रोजेक्ट एक्सप्लोरर विंडो में जार का विस्तार करता हूं तो मैं इसे स्पष्ट रूप से देख सकता हूं। – AlyoshaKaramazov

+0

क्या आपका मतलब है कि कक्षा फ़ाइल पहले से ही जार फ़ाइल में शामिल है ?? और फिर भी NoClassDefFoundError मिला ?? – swemon

+0

मैं पथ बनाने के लिए जार जोड़ने के लिए अपना जवाब संपादित करता हूं। – swemon

2

ठीक है के रूप में वहाँ कोई समाधान नहीं है और मैं एक ही समस्या का सामना करना पड़ा है और मैं यह इतना तय कर दी है मैं यहाँ मेरे समाधान डाल रहा हूँ ..

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

cglib- से संबंधित है @swemon

द्वारा बताए गए नोडेप जार तो नवीनतम डाउनलोड करने और मेरे निर्माण पथ में जोड़ने के बाद भी यह काम नहीं किया क्योंकि पहले मेरे पास एक पुराना संस्करण था जो अभी भी जेबीएसएस/तैनाती/सर्वर/माइसेवर/lib फ़ोल्डर में था। मैंने जो कुछ किया है, उस फ़ोल्डर में आवश्यक जार (cglib-nodep.jar cglib-nodep-2.2.jar के साथ) को प्रतिस्थापित किया गया है, एक बोली किया, सर्वर को पुनरारंभ किया और किया।

एनबी: cglib-nodep jar के लिए आपका संस्करण मेरा से अलग हो सकता है। जार के सही संस्करण का उपयोग करना सुनिश्चित करें। एनबी: 2: आपके सर्वर का आपका तैनाती फ़ोल्डर आपके द्वारा उपयोग किए जा रहे ऐप सर्वर के आधार पर अलग से अलग हो सकता है ..

आशा है कि मदद करता है!

11

यह समस्या एजीएम निर्भरताओं को शामिल नहीं करती है जो कि cglib है।

समाधान 1: अपने classpath

समाधान करने के लिए 2 util एएसएम-एएसएम और का सही संस्करण जोड़ें: cglib-nodep संस्करण का उपयोग करें (जो दोनों एएसएम निर्भरता भी शामिल है)।

0

लंबे समय तक डीबग के बाद, मुझे समाधान मिला।ठीक से जोड़ा गया जार के साथ के रूप में ऊपर कहा गया है,

config

aop:: बस aop को बदलने की जरूरत config प्रॉक्सी-लक्ष्य स्तरीय = "true"

चैतन्य!