Aspectj:来自外部jar的intercept方法

前端之家收集整理的这篇文章主要介绍了Aspectj:来自外部jar的intercept方法前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在使用X.jar并添加到我的AspectJ项目(在 eclipse中).我已经在X.jar中写了一个方法myMethod()的切入点和建议.

但是aspectj不会拦截方法调用.

我怎么能告诉aspectj来拦截外部jar的方法调用呢?是不可能的?

谢谢

解决方法

有两个选择:

a)将方面编入JAR
b)使用加载时间编织(我会去那个)

这两个都是高级主题,我建议你阅读AspectJ in Action (2nd Ed) by Ramnivas Laddad了解更多.

要澄清:有不同类型的切入点.如果您的代码调用库的方法,那么您当然可以截取这些调用,就像代码中那样.所以call()切入点可以工作,但是execute()(和其他许多)切入点将不会因为它们改变执行方法,而不是在你的代码库中.因此,您必须更改库的字节码(选项a)或更改如何加载到应用程序中(选项b).

猜你在找的Java相关文章