2011-01-20 5 views
0

2 개의 다른 패키지에 2 개의 클래스가 있다고 가정 해 봅시다.javac annotation processor : 종속성 클래스 처리

예 :

package org.example; 
public ClassA { 
    @MyAnnotation 
    public void xpto() { 
     ClassB.staticMethod(); 
    } 
} 

package org.another; 
public ClassB { 

    public void staticMethod() { 
      // 
    } 
    @MyAnnotation  
    public x1() { 
    } 
} 

내부를 ClassA는 ClassB가 정적 메소드를 참조하는 방법이있다.

는 지금은의/조직의 모든 클래스를 컴파일 주석 프로세서와 javac의 과정이/예/**

javac의가 너무 ClassB가 컴파일해야합니다 그래서 의존도로 ClassB가를 찾을 수를 ClassA를 컴파일

. ClassB가 처리됩니까?

나는 그런 필요가 없다고 생각합니다. 어떻게 해야할지 알고 있습니까?

감사합니다.

답변

1

답변은 매우 간단합니다. ClassB가 소스 경로에 있으면 잘 처리됩니다. 그렇지 않은 경우 그렇지 않습니다. 사실 ClassA 클래스는 ClassB의 메서드로 아무 것도 변경하지 않습니다.

확인하는 가장 쉬운 방법은 프로세서에 부여 된 주석이 달린 클래스 목록을 인쇄하는 것입니다.