2017-03-20 33 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