多少面倒なこと
package-info.javaって微妙に使いにくいですよね。
Javadoc書くだけならいいですが、注釈を付けるとインポート周りとか面倒です。
- src/ - com/ - example/ - annotations/ - OtherAnnotation.java - package-info.java - MyAnnotation.java
まず、これはOK。
@com.example.MyAnnotation package com.example;
完全限定名で指定すればOK
これもOK
@MyAnnotation package com.example;
package com.example; が解釈されてから同一パッケージ上のMyAnnotationを探しに行く模様。
これはNG
@OtherAnnotation package com.example;
パッケージが違うので当然ですね。
これはNG
@OtherAnnotation package com.example; import com.example.annotation;
importはpackageの時点で解釈しない模様。
これもNG
import com.example.annotation; @OtherAnnotation package com.example;
構文的に、importの後にpackageは宣言できません。
パッケージについた注釈だけコンパイル単位のコンテキスト(インポートなど)を利用しないみたいなので、それ用に一つ処理書いてます。めんどくさ。