我在學習aspectJ並遇到三個問題。爲什麼需要將所有jar文件添加到classpath中,而不是隻添加aspectjrt.jar(如果只添加一個aspectjrt.jar文件,它將輸出Could not find or load main class org.aspectj.tools.ajc.Main
)?爲什麼我已經定義了主類並使用ajc編譯成功,然後java packageName.MainClass錯誤?錯誤如下:AspectJ錯誤:無法找到或加載主類aop.HelloTest
Error: Could not find or load main class aop.HelloTest
這裏是代碼:
package aop;
public class HelloTest {
public static void main(String[] args) {
Hello hello = new Hello();
hello.hello();// hello method just outout one word
}
}
//aspectj class which under the same aop package, attention these two file are not in the same file.
public aspect AspectJTest {
before(): execution(* aop.*.*(..)){
System.out.println("stimulate authority check");
}
}
這是我的工作過程:
ajc -d . *.java
java aop.HelloTest
'java命令aspectjrt.jar aop.HelloTest'可能? –
在終端輸入'echo $ CLASSPATH'輸出這樣的jar文件,完全相信'cp'不會讓我失望。 – Crabime