如何使用AspectJ Compiler開發AspectJ程式

 

雖然我們可以在EclipseAJDT環境下很方便地開發AspectJ程式
但還是可以單純在命令列中使用指令來編譯、執行程式

預備動作

下載

先到到AspectJ的下載網頁:http://www.eclipse.org/aspectj/downloads.php
下載Latest Stable Release版本的AspectJ
以我目前的AspectJ 5版本為例,你會抓到一個叫做aspectj-1.5.0.jar的jar檔案

安裝

如果你直接在aspectj-1.5.0.jar上面點兩下會出現安裝畫面的話,就請直接進行安裝動作
否則請用命列提示字元,切換到那個包含aspectj-1.5.0.jar檔案的目錄下
執行 java -jar aspectj-1.5.0.jar 指令進行安裝

備註:請先確認之前有安裝好JDK 5.0,並且設定過其相關的JAVA_HOMEPATH環境變數

環境設定

如果你是用ant來建構程式,則要在ant的build檔案中設定,不用依照這裡的設定

設定CLASSPATH

C:\aspectj1.5\lib\aspectjrt.jar檔與C:\aspectj1.5\lib\aspectjtools.jar加入CLASSPATH環境變數中

備註:所以你的CLASSPATH至少要包含 .;C:\aspectj1.5\lib\aspectjrt.jar;C:\aspectj1.5\lib\aspectjtools.jar

設定PATH

C:\aspectj1.5\bin檔加入PATH環境變數中

備註:你可以重新打開命列提示字元,輸入 ajc -version 來測試此步驟是否成功

準備Hello與World程式



一般用Java寫的Hello程式

先寫一個單純印出Hello字串的Java程式:Hello.java


class Hello{
public static void main(String[] args){
System.out.println("Hello");
}
}

用AspectJ寫的World程式

再寫一個在Hello字串後面加上World的AspectJ程式:World.java


aspect World{
after() : call(* *.*(..)) && !within(World){
System.out.println(" World");
}
}

編譯與執行


編譯

輸入 ajc *.java 來進行編譯

執行

輸入 java Hello 來執行
就會看到畫面上出現Hello World字串