2017-03-20 35 views

回答

1

您可以使用调试器并逐步了解过程。

AspectJ可以在编译(CTW,编译时编织)或类加载(LTW,加载时编织)期间将方面编织到现有的类文件中。

LTW不适用于JDK类,因为这些类始终在编织代理之前加载。所以你有一个引导问题。

但是,您可以做的是将CTW应用于例如文件的类文件。您的JRE/JDK发行版中的rt.jar,将编织类文件压缩到另一个JAR中,并用它替换原始文件。然后,如果您在引导类路径上使用aspectjrt.jar启动JVM,则会看到正在运行的方面。我之前已经完成了这个工作。但实际上,这不是AspectJ的设计目的。但你问,所以我告诉过你。这是一个非常先进的话题,我怀疑这是一个完整的AspectJ新手的道路 - 没有冒犯的意思。


更新:因为我一直在问这个问题,所以很多时候,我创建了一个小demo project出如何编织方面到JRE/JDK。我仍然认为在正常情况下使用它是没有意义的,但到底是什么:为什么人们爬上珠穆朗玛峰?因为它存在。 ;-)

+0

我为JDK编织创建了一个演示项目。看到我更新的答案。 – kriegaex