Java 思考:获取 类 但不是子类型
Java Reflections: Get Classes but not SubTypes
我正在从 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()
代码到 运行。但是,我不希望返回子类型。
我如何使用这个新版本的库来仅拉回 类 和非子类型的接口?
如果我不包含 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);
不确定它是否有帮助,但是当我更新一个完全不相关的库时,我遇到了 Scanner SubTypesScanner was not configured
错误。
我发现 that message 有人在寻找类似的错误,发现当路径完全为空(不是我的情况)时会抛出异常,但如果基数 class要找的一个不在扫描包中(我的情况)。
我不知道为什么它曾经工作,也不知道为什么它停止了,但我在扫描仪中添加了丢失的包,它又开始工作了。
我正在从 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()
代码到 运行。但是,我不希望返回子类型。
我如何使用这个新版本的库来仅拉回 类 和非子类型的接口?
如果我不包含 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);
不确定它是否有帮助,但是当我更新一个完全不相关的库时,我遇到了 Scanner SubTypesScanner was not configured
错误。
我发现 that message 有人在寻找类似的错误,发现当路径完全为空(不是我的情况)时会抛出异常,但如果基数 class要找的一个不在扫描包中(我的情况)。
我不知道为什么它曾经工作,也不知道为什么它停止了,但我在扫描仪中添加了丢失的包,它又开始工作了。