Java AspectJ无法从jar文件捕获调用
我想在调用Java AspectJ无法从jar文件捕获调用,java,eclipse,aspectj,Java,Eclipse,Aspectj,我想在调用System.currentTimeMillis()时执行特定操作。我使用AspectJ,如下所示 public aspect CurrentTimeInMillisMethodCallChanger { long around(): call(public static native long java.lang.System.currentTimeMillis()) { //provide my own implementation }
System.currentTimeMillis()
时执行特定操作。我使用AspectJ,如下所示
public aspect CurrentTimeInMillisMethodCallChanger {
long around():
call(public static native long java.lang.System.currentTimeMillis()) {
//provide my own implementation
}
}
当在应用程序的任何方法中调用System.currentTimeMillis()
时,此程序工作正常
但是,当从jar文件中的方法调用System.currentTimeMillis()
时,不会执行around。我在(packageofJarFile.*)中使用了,
,但它不起作用
我正在使用Eclipse
请让我知道我需要向上述代码中添加什么来支持(特定)jar文件的调用?您需要为Eclipse设置AspectJ插件(AJDT),这样它也可以编写库代码,而不仅仅是您自己的类文件。您可以通过转到
projectproperties->AspectJ Build->Inpath tab
并添加希望由方面编织的jar文件来实现这一点。以下是该对话框的屏幕截图:
这样编织的库类将转储到输出类文件夹中,除非您在同一属性页的第三个选项卡上设置
output jar
。这是声明方面的新方法吗?我总是以一种方式使用它,就像gottit一样,你使用的是纯aspectJ,尽管我的链接是关于SpringAspectSyes的。这是简单的AspectJ。