java urlclassloader usage。それはまれなケースでのみ必要ですか?

classloader classpath java urlclassloader
java urlclassloader usage。それはまれなケースでのみ必要ですか?

どの場合、 `URLClassLoader`を使用して、指定されたパスの特定のjarからクラスをロードしますか? + E.g.

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`を使用します。 +私はここで何か誤解されたり欠落したりしていると思うので、誰かがこの方法でクラスをロードする上記のスニペットがいつ役に立つかを説明し、例を挙げてもらえますか? ありがとうございます。

  1  0


ベストアンサー

あなたが行っているプログラミングの種類によっては、 `URLClassLoader`の使用は非常にまれにしか発生しないはずです。

通常、実行時にクラスをロードするためにクラスローダーを使用しますが、事前に予測することはできませんでした。

良い例は、プラグインで拡張できるツールをビルドし、プラグインが実行時にロードされる場合です。 たとえば、Eclipse。

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

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

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

よろしく、

Will

2


タイトルとURLをコピーしました