加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

Aspectj:来自外部jar的intercept方法

发布时间:2020-12-15 00:22:12 所属栏目:Java 来源:网络整理
导读:我正在使用X.jar并添加到我的AspectJ项目(在 eclipse中).我已经在X.jar中写了一个方法myMethod()的切入点和建议. 但是aspectj不会拦截此方法调用. 我怎么能告诉aspectj来拦截外部jar的方法调用呢?是不可能的? 谢谢 解决方法 有两个选择: a)将方面编入JAR
我正在使用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).

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读