今天开始研究AspectJ,不利用任何IDE,于是,下载好了jar包后,同时安装ok了,现在设置环境变量了
1.加上AspectJ_HOME
2.PATH里面加上${AspectJ_HOME}/BIN
3.CLASSPATH里面加上${AspectJ_HOME}/LIB
这样环境就OK了(自己以为Ok了,问题潜伏起来了)。
写了个测试类如下:
- public class Test {
- public void helloWorld() {
- System.out.println("Hello World");
- }
- public static void main(String args[]) {
- Test test = new Test();
- test.helloWorld();
- }
- }
利用AspectJ的AOP类
- public aspect TestAspect {
- pointcut outputLog() : call(public void helloWorld());
- before() : outputLog() {
- System.out.println("Before Call");
- }
- }
类已经写好了,编译:
AJC Test.java TestAspect .java
java Test
运行结果:(以为没有任何问题了,呵呵)
晕了,报aspectjrt.jar没有找到。
于是乎改classpath的路径如加上${AspectJ_HOME}/LIB/aspectjrt.jar等等还是找不到,最后无奈之下还是使用老办法:
拷贝<aspectJ install dir>/lib/aspectjrt.jar文件到<java_home>/jre/lib/ext目录下。成功了,呵呵。
但是始终有疑惑:为什么classpath就是不起作用呢?怪哉,同仁们,遇到过没有啊?