如何访问类路径中 jar 中的所有包信息类?我想访问这些类中使用的包级注释。
我想执行以下步骤:-
- 找到所有的 package-info.java 类
- 获取他们的包裹
- 获取注解@PackageOwner
最佳答案
有一个更简单的解决方案,不涉及外部 API。 您可以从位于您想要注释的包中的类中获取 Package 对象。 然后通过调用包上的方法 getAnnotations() 来获取这些注释:
import java.lang.annotation.Annotation;
public class PackageAnnotationsTest {
public static void main(String[] args) {
Package myPackage = AClassInMyPackage.class.getPackage();
Annotation[] myPackageAnnotations = myPackage.getAnnotations();
System.out.println("Available annotations for package : " + myPackage.getName());
for(Annotation a : myPackageAnnotations) {
System.out.println("\t * " + a.annotationType());
}
}
}
多亏了这个link这在这个问题上帮助了我。 我首先阅读了这个线程和 Parikshit 的回答,但我不想使用外部 api。
关于java - 如何从 jar 访问 package-info.java 运行时中的包级注释?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33780648/