我正在从org.Reflation: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()才能运行代码。但是,我不希望返回子类型。
如何使用这个新版本的库来只提取不是子类型的类和接口?
如果我不包括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)发布于 2015-09-25 16:19:46
我相信您使用了这个注释"javax.ws.rs.Path“。请试试这个:-
Reflections reflectionPaths = new Reflections("resources", new TypeAnnotationsScanner());
Set<Class<?>> rootResourceClasses = reflectionPaths.getTypesAnnotatedWith(Path.class, true);发布于 2020-10-23 12:53:21
不确定它是否有用,但是当我更新一个完全无关的库时,Scanner SubTypesScanner was not configured错误就开始出现了。
我在这条信息中找到了一个寻找类似错误的人,发现当路径完全为空(不是我的情况)时抛出异常,但是如果搜索的那个基类不在扫描包中(我的例子)。
我完全不知道它过去为什么工作,也不知道它为什么停止工作,但是我在扫描仪中添加了丢失的包,它又开始工作了。
https://stackoverflow.com/questions/32782240
复制相似问题