按照网上的一些说法是说没有这个包  cglib-nodep-2.1_3.jar  ,但是我有这个包。在myeclipse自己的环境中能跑,但发到测试环境中就发布失败,请大家帮忙看看。日志显示:
<2013-1-11 上午08时54分20秒 CST> <Warning> <HTTP> <BEA-101369> <ServletContext@1775397330[app:profitEstimates module:profitEstimates.war path:/profitEstimates spec-version:2.5]: The encoding jsp-descriptor param has been deprecated. Consider declaring the encoding in the jsp-config element (web.xml) or as a page directive (pageEncoding) instead.> 
<2013-1-11 上午08时54分28秒 CST> <Warning> <JTA> <BEA-110486> <Transaction BEA1-012CEACE557D4FA3966A cannot complete commit processing because resource [weblogic.jdbc.wrapper.JTSXAResourceImpl] is unavailable. The transaction will be abandoned after 85,968 seconds unless all resources acknowledge the commit decision.> 
<2013-1-11 上午08时54分42秒 CST> <Warning> <HTTP> <BEA-101162> <User defined listener org.springframework.web.context.ContextLoaderListener failed: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'profitService' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: net/sf/cglib/proxy/Enhancer.setInterceptDuringConstruction(Z)V.
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'profitService' defined in ServletContext resource [/WEB-INF/classes/applicationContext.xml]: Initialization of bean failed; nested exception is java.lang.NoSuchMethodError: net/sf/cglib/proxy/Enhancer.setInterceptDuringConstruction(Z)V
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(AbstractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(AccessController.java:224)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:264)
Truncated. see log file for complete stacktraceCaused By: java.lang.NoSuchMethodError: net/sf/cglib/proxy/Enhancer.setInterceptDuringConstruction(Z)V
at org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy.java:182)
at org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:110)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.createProxy(AbstractAutoProxyCreator.java:490)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:365)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:325)
Truncated. see log file for complete stacktrace

<2013-1-11 上午08时54分42秒 CST> <Error> <Deployer> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1357916042202' for task '0'. Error is: 'weblogic.application.ModuleException: '
weblogic.application.ModuleException: 
at weblogic.servlet.internal.WebAppModule.startContexts(WebAppModule.java:1399)
at weblogic.servlet.internal.WebAppModule.start(WebAppModule.java:460)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleStateDriver.java:425)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineDriver.java:83)
at weblogic.application.internal.flow.ModuleStateDriver.start(ModuleStateDriver.java:119)
Truncated. see log file for complete stacktraceCaused By: java.lang.NoSuchMethodError: net/sf/cglib/proxy/Enhancer.setInterceptDuringConstruction(Z)V
at org.springframework.aop.framework.Cglib2AopProxy.getProxy(Cglib2AopProxy.java:182)
at org.springframework.aop.framework.ProxyFactory.getProxy(ProxyFactory.java:110)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.createProxy(AbstractAutoProxyCreator.java:490)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.wrapIfNecessary(AbstractAutoProxyCreator.java:365)
at org.springframework.aop.framework.autoproxy.AbstractAutoProxyCreator.postProcessAfterInitialization(AbstractAutoProxyCreator.java:325)
Truncated. see log file for complete stacktrace
exceptionNoSuchMethodErrorEnhancer setInterceptDuringConstruction

解决方案 »

  1.   

    一大片报错信息都懒得看了 
    java.lang.NoSuchMethodError
    这个错误一般都是说方法找不到
    本地能跑测试环境不能跑
    看看是不是引用jar包写的是绝对路径?
      

  2.   

    没有吧,怎么知道jar包写的是绝对路径呢?
      

  3.   

    NoSuchMethodError这个错误是说编译时有这个方法,但运行时没有了;
    两个可能:
    1、你的运行环境也就是你所说的测试环境没有这个jar包。
    2、你的运行环境有这个jar包,但是不止一个版本,导致有两个你需要的类,而运行时加载到了另外一个版本的类,而那个类里面还没有这个方法。所以按你的情况来看应该是版本冲突了,可以看jar名称是不是有差不多的。
    如果检查不出来,你可以在eclipse里面建一个空的java项目,然后把你的测试环境里面的用到的jar包都加到这个项目的buildpath里面,然后在这个项目里面查找类型(ctrl+shift+T)-Enhancer,看是否有多个结果,如果有就看分别出自那个jar包,删除不需要的就行了。如果只有一个的话,情况就比较复杂了,看你的classpath里面有没有冲突的jar包了。
      

  4.   

    重新编译一下,可能是构建路径里面没有编译jar
      

  5.   

    检查下是不是cglib的jar包冲突
      

  6.   

    读取的jar包路径除了问题,可能存在2个相同的类名,默认先读代码,在读jar,看看你写的代码是否存在着与之相同的类名,也有可能是其他的情况
      

  7.   

    确保你的包在测试环境加到了classpath里