0 0

javassist javaagent web工程部署问题30

项目使用javassist+javaagent 实现字节码增强,在java工程里单元测试都没问题,但部署到resin中,报错如下:

Exception in thread "main" java.lang.NoClassDefFoundError: javassist/NotFoundException
        at java.lang.Class.getDeclaredMethods0(Native Method)
        at java.lang.Class.privateGetDeclaredMethods(Class.java:2427)
        at java.lang.Class.getMethod0(Class.java:2670)
        at java.lang.Class.getMethod(Class.java:1603)
        at sun.instrument.InstrumentationImpl.loadClassAndStartAgent(InstrumentationImpl.java:294)
        at sun.instrument.InstrumentationImpl.loadClassAndCallPremain(InstrumentationImpl.java:338)
Caused by: java.lang.ClassNotFoundException: javassist.NotFoundException
        at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
        at java.security.AccessController.doPrivileged(Native Method)
        at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
        ... 6 more
FATAL ERROR in native method: processing of -javaagent failed

但是在WEB-INF/lib下明明有javassist.jar,后将javassist.jar移至resin.home/lib下,报另外错误:

javassist.NotFoundException: xxxxxxxx.UsersDO
        at javassist.ClassPool.get(ClassPool.java:450)
        at com.wowotrace.trace.aop.TraceClassFileTransformer.transform(TraceClassFileTransformer.java:45)
        at sun.instrument.TransformerManager.transform(TransformerManager.java:169)
        at sun.instrument.InstrumentationImpl.transform(InstrumentationImpl.java:365)
        at java.lang.ClassLoader.defineClass1(Native Method)
        at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)


这个可能跟javassist的搜索路径有关,但网上查了,试过解决不了该问题,各位大神,救 命呀!
2014年2月26日 11:14
目前还没有答案

相关推荐

Global site tag (gtag.js) - Google Analytics