1

を使用しURLClassLoaderて、指定されたパスの特定の jar からクラスをロードするのはどのような場合ですか?
例えば

URL url = new URL("file:///path/to/customClasses.jar");
URLClassLoader pluginLoader = new URLClassLoader(new URL[] { url });
Class<?> cl = pluginLoader.loadClass("apackage.MyCustomClass");

customClasses.jar のクラスを使用したい場合、この jar を CLASSPATH からアクセス可能なパスに配置すれば十分だと常に考えていました。
次に、私のコードでapackage.MyCustomClass.
私はここで何かが誤解されているか欠けていると思うので、誰かが説明して、この方法でクラスをロードする上記のスニペットが役立つ場合の例を教えてください。
ありがとう!

4

1 に答える 1

2

行っているプログラミングの種類によっては、 の使用はURLClassLoader非常にまれであると言えます。

通常、事前に予測できなかったクラスを実行時にロードするために、クラス ローダーを使用します。

良い例は、プラグインで拡張できるツールを作成し、プラグインが実行時に読み込まれる場合です。たとえば、エクリプス。

コンパイル時に使用可能な jar ファイルがあり、コマンド ラインを使用している場合は、必要な jar ファイルをコンパイル ステートメントに追加します。例えば、

javac -cp /path/to/lib/customClasses.jar MyClassThatReferencesCustomClasses

Eclipse を使用している場合は、jar をプロジェクトに追加し、それを右クリックして [ビルド パスに追加] を選択します。

よろしく、

意思

于 2010-12-29T17:44:58.457 に答える