我想在已经编译的java类中添加一些调试代码,而不是触及原始类。我正在考虑使用AspectJ,但我只是想知道它是否可行,如果是这样的话?
实施例: class A包含void main(),它执行stuff并调用方法sum()。 方面B在A.sum()之前添加println() 我希望在没有以任何方式编辑A的情况下运行具有方面B修改的A类。
答案 0 :(得分:1)
使用加载时编织(LTW)可以在不触及现有java类(二进制或源代码)的情况下执行此操作。
请参阅LTW的官方文件: http://www.eclipse.org/aspectj/doc/released/devguide/ltw.html