2012-09-20 26 views
5

eclipseでhibernateを使用してspring mvcアプリケーションを実行しようとすると、次のエラーが発生します。クラス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) 

私は私のWEB-INF/libフォルダにCGLIB-NODEP-2.2.3の.jar配置したが、私は同じエラーを取得し続けています。なぜクラスが瓶の中にあるかは分かりません。 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~を使用して、このクラスを含むjarファイルを見つけて、これらのjarファイルの1つをビルドパスに追加する必要があります。

あなたはWEB-INF/libフォルダにあなたのlibを追加した後、あなたのクラスは、そのjarファイルに含まれている見つけた場合

  • は、右の設定がビルドパス>プロジェクトに
  • クリックしてビルド・パス]をクリックします。 ..
  • [ライブラリタグ]を選択し、[JARの追加]をクリックします。
  • jarをポイントして[OK]をクリックします。
  • 再構築してもう一度実行してください。
[OK]を
+0

それは事です、それはクラスを含んでいます。プロジェクトエクスプローラウィンドウでjarファイルを展開すると、私はそれをはっきりと見ることができます。 – AlyoshaKaramazov

+0

クラスファイルがすでにjarファイルに含まれていることを意味しますか?まだNoClassDefFoundErrorが見つかりましたか? – swemon

+0

パスをビルドするためにjarを追加するための私の答えを編集します。 – swemon

2

そこには解決策はありませんと私は同じ問題に直面していると私は私はここに私の解決策を入れていますので、それを固定しているよう..

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

がcglib-に関連しています最新のものをダウンロードしてビルドパスに追加しても、以前はJBOSS/deploy/server/myServer/libフォルダに残っていた古いバージョンがあったので、それはうまくいきませんでした。私がしたのは、このフォルダ内の必要なjar(cglib-nodep.jarとcglib-nodep-2.2.jar)を置き換え、buidし、サーバを再起動して終了しました。

注意:cglib-nodep jarのバージョンは、私とは異なる場合があります。正しいバージョンのJarを使用してください。 NB:2:お使いのサーバーのデプロイメントフォルダは、使用しているアプリケーションサーバーに基づいて異なる場合があります..

11

この問題は、cglibが持つasm依存関係を含めていないために発生します。

解決方法1:あなたのクラスパスにASMおよびASM-utilの正しいバージョンを追加

解決方法2:(両方のasmの依存関係が含まれます)CGLIB-NODEPバージョンを使用してください。

0

長いロングデバッグの後、私は解決策を得ました。ただ、AOPを変更する必要があります。configを正しく追加瓶と一緒に前述したように、

AOP:

Chaitanya設定プロキシ・ターゲット・クラス= "true" を!

関連する問題