[英]How to speed up the class scan via Reflection API in Java?
我使用org.reflections
庫掃描ClassPath並獲取類。 這是我的代碼:
Reflections ref = new Reflections();
Set<Class<? extends Service>> classes = new HashSet<>();
for (Class<? extends Service> subType : ref.getSubTypesOf(Service.class)) {
if (!Modifier.isAbstract(subType.getModifiers())) {
classes.add(subType);
}
}
但是我遇到了一個問題。 這需要太多時間。 同時我無法設置包裹
new Reflections("my.pack");
因為我想保留將來添加Service類的功能。 我如何加快這個過程? 是否可以排除rt.jar
包?
使用FilterBuilder
至少排除java
根包。
這可能有助於指定SubTypesScanner
因為這就是您正在執行的操作。
Reflections ref = new Reflections(new SubTypesScanner(),
new FilterBuilder().excludePackage("java"));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.