是否有配置反射库的解决方案,以便它还扫描在运行时使用URLClassLoader添加的JAR?
目前,反射仅扫描ClassLoader中的URL。这是我现在使用的配置:
Reflections reflections = new Reflections(new ConfigurationBuilder().setUrls(ClasspathHelper.forClassLoader()));
我在反射库的文档中找不到任何提示。
修改 这是我加载jar文件的方式:
File f = new File("C:/Users/mkorsch/Desktop/test-reflections.jar");
URLClassLoader urlCl = new URLClassLoader(new URL[] {f.toURI().toURL()},System.class.getClassLoader());
答案 0 :(得分:4)
也许您还需要使用相关的类加载器,
Reflections reflections = new Reflections(new ConfigurationBuilder().setUrls(ClasspathHelper.forPackage("my.package", myClassLoader)).addClassLoader(myClassLoader));
或者只是:
new Reflections("my.package", myClassLoader, scanners, ...)
在documentation中查看。