2011-01-20 22 views
0

2つのクラスに2つのクラスがあるとしましょう。javacアノテーションプロセッサ:依存関係クラスの処理

例:

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

package org.another; 
public ClassB { 

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

内部にClassAはClassBの静的メソッドを参照して方法があります。

は、今私はの/ ORGすべてのクラスをコンパイルします注釈プロセッサとjavacのプロセスを持っている/例/ **

のjavacが、それはあまりにもClassBのをコンパイルする必要がありますので、それが依存としてClassBのを見つけるにClassAをコンパイル

。 ClassBは処理されますか?

私はそうではないと思いますが、どうすればいいのか分かりますか?

ありがとうございます!

答えて

1

答えは非常に簡単です。ClassBがソースパスにある場合、それはうまく処理されます。そうでない場合、それはしません。 ClassAクラスのClassBメソッドは何も変更しないという事実。

確認する最も簡単な方法は、プロセッサに付随する注釈付きクラスのリストを印刷することです。

関連する問題