AspectJ - 编译时与加载时编织
我无法理解aspectJ的编译时和加载时编织,并弄清楚要使用什么(以及如何使用ajc)来编译和构建我的项目。
这是我的项目结构: -
TestProject:一个java服务库。
其他一些人正在使用它
项目。此项目不包含
任何方面。
TestProject-Aspects:仅包含
建议几个班级的方面
TestProject。我没有使用
AspectJ5的注释风格和我的全部
joinpoints就在这个方法中
目前执行。
我的问题:
ajc vs iajc,他们是怎么回事
不同?
是否需要编织?
这样的事情会起作用吗?
编译TestProject-Aspects
<iajc>
sourceroots=${sources.dir}
destdir=${classes.dir}
classpath=${standard.compile.classpath}
</iajc>
编译TestProject
<iajc>
sourceroots=${sources.dir}
destdir=${classes.dir}
classpath=${standard.compile.classpath}
inpath=${[TestProject-Aspects]pkg.classpath}
</iajc>
我根本不必使用javac吗?
我最初用来编译
TestProject?
没有找到相关结果
已邀请:
1 个回复
哭木算
。这意味着将重新编写TestProject的类文件,并将其与方面项目中的类文件结合使用。 或者,如果您使用LTW,那么您不需要将
添加到任何inpath中,您可以使用javac。但是,您必须在运行时为LTW设置应用程序。 编辑 要回答以下评论: 是。您可以先使用ajc或iajc任务编译方面项目。然后,您还可以使用iajc任务编译第二个纯Java项目,另外还可以将第一个项目的结果放在方面路径上。你根本不能使用javac。 ant build.xml代码段看起来像这样:
有关
的更多详情,请参见此处: http://www.eclipse.org/aspectj/doc/released/devguide/antTasks-iajc.html