Sun GlassFish Enterprise Server v3 リリースノート

現在のスレッドのコンテキストクラスローダーで組み込みの ACC が過度に厳格である (課題 11427)

説明

ACC では、現在のスレッドのコンテキストクラスローダーが ACCClassLoader である必要があります。これは限定的すぎます。この条件は、appclient スクリプトおよび Java Web Start の起動では満たされますが、組み込みの場合は満たされない場合があります。ACC 内部の他の機能は、クラスローダーが URLClassLoader (または、URLClassLoader のサブクラスのインスタンス) であることを必要としますが、ローダーが ACCClassLoader である必要はありません。

詳細については、課題レポートを参照してください。

回避策

2 つの回避策があります。

  1. -Djava.system.class.loader=org.glassfish.appclient.client.acc.ACCClassLoader を設定するか、

  2. Java プログラムで、組み込みの ACC クラスおよびインタフェースを使用する前に、ACCClassLoader をインスタンス化し、Thread.currentThread().setContextClassLoader を使用して現在のスレッドのコンテキストクラスローダーに設定します。