转自:http://www.cnblogs.com/newsouls/p/3942116.html经goole stackoverflow 发现是 javassit 包冲突项目使用的是maven 检查依赖包多出一个javassist-3.1.1在pom.xml中找到 struts2-core 排除 ...
分类:
编程语言 时间:
2014-10-26 09:05:38
阅读次数:
397
既然您已经看到了如何使用 Javassist 和 BCEL 框架来进行 classworking (请参阅本系列以前的一组文章), 我将展示一个实际的 classworking 应用程序。这个应用程序用运行时生成的、并立即装载到 JVM 的类来取代反射。在综合讨论的过程中,我将引用本系列的前两篇文章...
分类:
编程语言 时间:
2014-10-20 00:42:20
阅读次数:
350
在本系列的最后三篇文章中,我展示了如何用 Javassist 框架操作类。这次我将用一种很不同的方法操纵字节码——使用 Apache Byte Code Engineering Library (BCEL)。与 Javassist 所支持的源代码接口不同,BCEL 在实际的 JVM 指令层次上进行操...
分类:
编程语言 时间:
2014-10-19 23:00:52
阅读次数:
421
本系列的第 4 部分和第 5 部分讨论了如何用 Javassist 对二进制类进行局部更改。这次您将学习以一种更强大的方式使用该框架,从而充分利用 Javassist 对在字节码中查找所有特定方法或者字段的支持。对于 Javassist 功能而言,这个功能至少与它以类似源代码的方式指定字节码的能力同...
分类:
编程语言 时间:
2014-10-19 22:52:12
阅读次数:
445
讲过了 Java 类格式和利用反射进行的运行时访问后,本系列到了进入更高级主题的时候了。本月我将开始本系列的第二部分,在这里 Java 类信息只不过是由应用程序操纵的另一种形式的数据结构而已。我将这个主题的整个内容称为classworking。我将以 Javassist 字节码操作库作为对 clas...
分类:
编程语言 时间:
2014-10-19 22:51:19
阅读次数:
350
在第 4 部分“用 Javassist 进行类转换”中,您学习了如何使用 Javassist 框架来转换编译器生成的 Java 类文件,同时写回修改过的类文件。这种类文件转换步骤对于做出持久变更是很理想的,但是如果想要在每次执行应用程序时做出不同的变更,这种方法就不一定很方便。对于这种暂时的变更,采...
分类:
编程语言 时间:
2014-10-19 22:45:18
阅读次数:
307
weblogic java.lang.ClassNotFoundException: javassist.ClassPool Exception 其原因为ongl.3.0.jar,ongl.2.6.11.jar两个包冲突,有的weblogic可以正常启动,有的则不成,将前者删除即可,我使用的是struts 2.0....
分类:
编程语言 时间:
2014-09-28 23:49:56
阅读次数:
236
我们在搭建SSH框架的时候,需要引入各自的一些jar包 首先,先来看一下我们使用的SSH的各自版本及引入的jar包。struts2.3.1.2:struts2-core-2.3.1.jar javassist-3.11.0.GA.jarcommons-io-2.0.1.jarcommons-lan....
分类:
其他好文 时间:
2014-09-09 19:55:49
阅读次数:
310
代理 (agent) 是在你的main方法前的一个拦截器 (interceptor),也就是在main方法执行之前,执行agent的代码。agent的代码与你的main方法在同一个JVM中运行,并被同一个system classloader装载,被同一的...
分类:
编程语言 时间:
2014-09-02 18:15:15
阅读次数:
399
javaassist
ClassPool 是javassist的一个对象池,通过
pool.insertClassPath(string);这个方法可以向池子里添加对象,但是有个问题,如果我们通过这种方式添加了池,class改变了,池里的文件仍然为原来的class文件。
并没有重新加载一次class文件,而classpool类并没有提供对应的方法。
除了一个 CtClass re...
分类:
编程语言 时间:
2014-08-29 14:40:58
阅读次数:
500