如何注释java包和反映元数据

如何注释java包和反映元数据,java,java-annotations,Java,Java Annotations,我想使用简单注释对java包进行注释: @Target(ElementType.PACKAGE) 公共@接口相关{ int apiVersion()默认值为0; } 然而,当我试图将它添加到任何包中时,我遇到了编译错误 Error:(1, 14) java: cannot find symbol symbol: class Related location: package com.test.xxx 感谢您的帮助 编辑 在搜索了一点之后,我也发现了这种错误 Error:(1, 1

我想使用简单注释对java包进行注释:

@Target(ElementType.PACKAGE)
公共@接口相关{
int apiVersion()默认值为0;
}
然而,当我试图将它添加到任何包中时,我遇到了编译错误

Error:(1, 14) java: cannot find symbol
  symbol:   class Related
  location: package com.test.xxx
感谢您的帮助

编辑

在搜索了一点之后,我也发现了这种错误

Error:(1, 1) java: package annotations should be in file package-info.java

为了能够在包上放置注释,您应该创建
package info.java
文件,该文件应该包含如下包定义:

相关的 包tld.some.name; 为了能够反映包,您还需要设置

@Retention(RetentionPolicy.RUNTIME)
@目标(ElementType.PACKAGE)
公共@接口相关{
//东西。。。
}
然后您可以最终反映包:

SomeClassInPackage.class.getPackage().getAnnotation(Related.class)
您还可以使用


comiler是否只产生了一个错误?谢谢您的快速回答!不,我发现了另一个-
错误:(1,1)java:package注释应该在package info.java文件中,但是如何根据字符串package name反映package?
Package.getPackage("tld.some.name").getAnnotation(Related.class)