Environnement : 간단한 Java 독립 실행 형 응용 프로그램. 내부 AspectJ 항아리.내 (AspectJ) jar가 조인트 컷을 인식하지 못합니다.
두 가지 프로젝트가 있습니다. 첫 번째는 'A'는 맞춤 메소드 범위 주석과 메소드가 호출 될 때 어떤 작업을 담당하는 측면을 포함한다고 말합니다.
주석 :
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
public @interface AccessibleForRole {
String value() ;
}
가로 세로 : 나는 양태에서는 주석/측면 jar 파일을 한 적이
public aspect AccessibleListener {
pointcut verifyRole():
(
call(@AccessibleForRole * *())
);
before() : verifyRole() { // do something
}
}
.
그런 다음 프로젝트 A에서 모델 클래스를 만듭니다. 주석을 사용하여 메소드에 주석을 달고 프로그램을 실행하면 이벤트를 잡아서 작업하는 모습을 봅니다.
public class Model {
@AccessibleForRole("admin")
public void addUserToApplication(){
System.out.println("in Model.addUserToApplication.");
}
}
같은 내가 주석 방법 (와, 그것은 잘 작동합니다 ....하지만 .... 을 나는 두 번째 프로젝트, 프로젝트 'B' 'A'를 항아리를 사용하여 작성하는 경우, 나는 새로운 클래스를 생성 예를 들어 모델), 특별한 것은 발생하지 않는 것처럼 보입니다. 아무것도 막혔다.
미래에 프로젝트 A jar에서 AspectJ로 잡아야하는 것을 다시 컴파일하지 않고 만들 수 있습니까?
미리 감사드립니다.
달성하려는 목표는 무엇입니까? – Rachel