2011-07-07 17 views
4

実行時にシステムクラスローダーを更新する方法はありますか?私が動的にjarファイルをロードした後、このjarからロードされたクラス/パッケージを私のシステムクラスローダーに追加するために何かできますか?Java ClassLoader - 動的にロードされたjarファイルをシステムクラスローダーに追加

私がこれをやろうとしているのは、新しく作成したClassLoaderを自分のコードで使い果たしただけで、サードパーティのライブラリ(apache-WSIF)に問題があります。 ClassLoaderで渡されたものでは動作していないようです。

+0

可能な重複:http://stackoverflow.com/questions/60764/how-should-i-load-jars-dynamically-at-runtime and http://stackoverflow.com/questions/194698/how-to- load-a-jar-file-at-runtime – paradigmatic

+0

実行時にシステムクラスローダに何かを追加することはできません。理由は、パラダイムにリンクされた質問への答えに説明されています。 –

答えて

6

私は、以下のものを使用してくださいしようとしていたものを達成することができました:。

にThread.currentThread()setContextClassLoader(myClassLoader)。ここでは、トップの回答で述べたように

How do you change the CLASSPATH within Java?

基本的には、WSIFライブラリに呼び出す前に、私は、現在のスレッド上のContextClassloaderとしての私のカスタムクラスローダを設定していることを確認するだけです。

関連する問題