サーブレットを介して jar を動的にアップロードし、WEB-INF/lib ディレクトリに保存しています。@annotation で注釈を付けたすべてのクラスを取得したいのですが、
以下のリフレクション コードを使用して運が悪かった.. jar のマニフェストは読み取り可能ですが、クラスはそうではありません.. クラスのリストは 0 です
List<ClassLoader> classLoadersList = new LinkedList<ClassLoader>();
classLoadersList.add(ClasspathHelper.contextClassLoader());
classLoadersList.add(ClasspathHelper.staticClassLoader());
ConfigurationBuilder builder = new ConfigurationBuilder().setScanners(new SubTypesScanner(false), new ResourcesScanner(),
new TypeAnnotationsScanner());
Set<URL> set = ClasspathHelper.forClassLoader(classLoadersList.toArray(new ClassLoader[0]));
FilterBuilder filterBuilder = new FilterBuilder().include(FilterBuilder.prefix(exportPackage));
Reflections reflections = new Reflections(builder.setUrls(set).filterInputsBy(filterBuilder));
Set<Class<? extends Object>> classSet = reflections.getTypesAnnotatedWith(MyAnnotation.class);
構成にどのような変更を加えると、動的にアップロードされる jar からクラスを取得するのに役立ちますか..