4

是否有配置反射库的解决方案,以便它还扫描在运行时使用 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());
4

1 回答 1

5

也许您还需要使用相关的类加载器,

Reflections reflections = new Reflections(new ConfigurationBuilder().setUrls(ClasspathHelper.forPackage("my.package", myClassLoader)).addClassLoader(myClassLoader));

要不就:

new Reflections("my.package", myClassLoader, scanners, ...)

在文档中查看。

于 2013-08-12T10:38:45.257 回答