【发布时间】:2017-06-17 21:44:48
【问题描述】:
我正在尝试了解 Aspect 的工作原理。我来自 C/C++ 背景,魔法永远不会发生。
我知道你可以用@Aspect注释一些函数然后写下Aspect实现等等。但是,新代码是如何(以及在什么时间)生成的?
假设我没有编辑器。我使用 javacc 命令编译 java 类
这将生成.class 文件。现在,假设使用 Aspect 对 java 文件进行注释。然后我不应该以某种方式再次使用 Aspect 编译 .class 文件以生成另一组 .class 文件吗?
如果我的理解是正确的,那么这个双重编译步骤是如何在 maven 中完成的呢?还是春天?我发现很多教程会告诉你要在这里和那里添加什么来让事情正常工作,但没有教程解释这些事情是如何实际工作的。
【问题讨论】:
-
没错。有用于编织的命令行工具。您应该查看官方 aspectj 文档:eclipse.org/aspectj/doc/released/devguide/ajc-ref.html
-
@PhilippWendler 我想这也是我想要说明的一点。为什么可以在 eclipse.org 上找到官方 AspectJ 文档。我发现 AspectJ 和 IDE 混合在一起,就好像它是一个 Eclipse 功能一样,这非常令人困惑
-
"Eclipse" 不仅仅是 IDE Eclipse:en.wikipedia.org/wiki/Eclipse_Foundation