URLClassLoader (親として共通のクラスローダーを持つ) を使用して実装がロードされるラッパーを介して使用される、1 つの一般的な部分といくつかの「実装固有」のプロジェクトがあります。現在、@Foo によって注釈が付けられたジェネリック クラス A がありますが、これはかなり実装固有です。
@Foo
public class A { ... }
A は実装固有のコードを介して最初にロードされるため、URLClassLoader で開始されますが、親でのロードを試みます。これは、汎用クラスであるため、クラスをロードできます (汎用コードでクラスをインスタンス化できる必要がありますが、注釈にアクセスする必要はありません)。
次に、実装は注釈 @Foo をチェックしますが、Java ランタイムが一般的なものではない A.class.getClassLoader() を介して注釈をロードしようとするため、見つかりません。
明らかに、Java ランタイムを変更することはできませんが、URLClassLoader にそれによってロードされるクラスを宣言させる方法はありますか?一般的な親によって)?