多少面倒なこと

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は宣言できません。

パッケージについた注釈だけコンパイル単位のコンテキスト(インポートなど)を利用しないみたいなので、それ用に一つ処理書いてます。めんどくさ。