gpt4 book ai didi

Java 反射 : Get Classes but not SubTypes

转载 作者:行者123 更新时间:2023-11-29 10:11:23 27 4
gpt4 key购买 nike

我正在从 org.reflections:reflections:0.9.5 升级到版本 0.9.9。我正在使用:

Reflections reflectionPaths = new Reflections("resources", new TypeAnnotationsScanner());
Set<Class<?>> rootResourceClasses = reflectionPaths.getTypesAnnotatedWith(Path.class);

这让我得到了 resources 包中的所有类,并带有 @Path 注释。由于库已更新,顶行需要额外的 new SubTypesScanner() 才能运行代码。但是,我不希望返回子类型。

我如何使用这个新版本的库来仅拉回非子类型的类和接口(interface)?


如果我不包含 SubTypesScanner,我会得到这个异常

org.reflections.ReflectionsException: Scanner SubTypesScanner was not configured
at org.reflections.Store.get(Store.java:58)
at org.reflections.Store.get(Store.java:70)
at org.reflections.Store.getAll(Store.java:97)
at org.reflections.Reflections.getAllAnnotated(Reflections.java:423)
at org.reflections.Reflections.getTypesAnnotatedWith(Reflections.java:384)
at org.reflections.Reflections.getTypesAnnotatedWith(Reflections.java:370)

最佳答案

我相信你使用这个注释“javax.ws.rs.Path”。请试试这个:-

Reflections reflectionPaths = new Reflections("resources", new TypeAnnotationsScanner());
Set<Class<?>> rootResourceClasses = reflectionPaths.getTypesAnnotatedWith(Path.class, true);

关于Java 反射 : Get Classes but not SubTypes,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32782240/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com