在我的项目中,我想使用带有ASpectJ(面向方面的编程)的Web服务。我不知道该怎么做。
您好世界服务.java :
package WebService;
import javax.jws.WebMethod;
import javax.jws.WebService;
eclipseglassfish
@WebService
public class HelloWorldService {
@WebMethod
public String Hellow() {
String message = "Hi ! i am a simple service....";
System.out.println("Hi ! i am the a simple service... .");
return message;
}
}
LogAspectJ.ai :
public aspect LogAspect {
pointcut logHellow()
: execution(* WebService.HelloWorldService.Hellow(..));
before() : logHellow() {
System.out.println("AVANT Hellow");
}
after() : logHellow() {
System.out.println("APRES Hellow");
}
}
当我做ajc -d . HelloWorldService.java LogAspect.aj
我有这个错误:编译AJ: [echo] 编译IAJC [iajc] ajc [-d, H:\Workspace .... [错误]语法错误,注释仅在源代码级别为 5.0 时可用 @WebService ^^^^^^^^^^ [错误]语法错误,注释仅在源代码级别为 5 时才可用。 0 @WebMethod ^^^^^^^^
在 Ant 中,我需要添加:source="1.6"那么如果我在 Ant 中这样做,我没有错误:
<target name="compileAJ" depends="init"
description="Compilation avec AspectJ">
<echo>compile iajc</echo>
<iajc srcdir="${src}" destdir="${build}" source="1.6"
classpath="H:aspectj1.6libaspectjrt.jar"/>
</target>