Sun Java System Application Server Enterprise Edition 8.1 2005Q2 リリースノート

クラスローダの変更

現在のリリースでは、domain.xml (アプリケーションサーバーの設定ファイル) の classpath-prefixserver-classpath、および classpath-suffix 属性に追加された JAR およびディレクトリエントリは、JVM システムクラスパスでも使用できます。この動作に依存しているアプリケーションは、クラス java.lang.ClassLoader の次のメソッドを使用して、JVM システムクラスパスのクラスやその他のリソースにアクセスしている可能性があります。

次のメジャーリリースでは、classpath-prefixserver-classpath、および classpath-suffix に追加された JAR およびディレクトリエントリは、JVM システムクラスパスでは使用できなくなります。アプリケーションが前述のいずれかのメソッドを使用している場合は、システムクラスパスでリソースが使用できることを前提としていない等価なメソッドを使用することを強くお勧めします。JVM システムクラスパスに依存しない等価なメソッドは、java.lang.ClassLoader にあり、可能な場合は使用するようにしてください。次に例を示します。


例 2–1 古いコード

java.net.URL url = ClassLoader.getSystemResource
("com/acme/tools/tools.properties");


例 2–2 推奨される変更

java.net.URL url = this.getClass().getClassLoader().getResource
("com/acme/tools/tools.properties");

コードを変更できない場合は、次のリリースで追加される、JVM システムクラスパスを設定するための新しい設定オプションの使用を選択することもできます。