16

適切なJARファイル(Apache XALANなど)をJREの承認済みディレクトリに追加することと、アプリケーションのクラスパスに追加することの違いを知っている人はいますか?

承認されたlibに追加できるjarファイルを取得して、代わりにクラスパスに追加することは可能ですか?

4

1 に答える 1

25

技術的にはおそらくそれを行うことができますが、違いは、承認されたディレクトリのjarファイルがブートストラップクラスローダーによってロードされることです。これは、クラスパスからjarをロードするクラスローダーとはおそらく同じクラスローダーではありません。

承認されたディレクトリにある Xerces および Xalan XML 実装には、古典的な XML 問題があります。新しいアプリケーションでは両方のライブラリの新しいバージョンが必要になる場合があり、クラスの名前が同じであるため、クラスパスの問題が発生します。

承認されたディレクトリの Xerces および Xalan ライブラリを置き換えることはできますが (古いものをバックアップしてください!)、同じ JRE インストールを使用する他のアプリケーションを台無しにする可能性があります。

あるライブラリがあるバージョンに依存し、別のライブラリが xerces の別のバージョンに依存している 1 つのアプリケーション内でこの問題を見たことさえあります。非常に面倒で、これに対する「一般的なアプローチ」はありません。少なくとも、私が見つけたものはありません。

これについては、Google が簡単に見つけられる興味深い記事がいくつかあります。状況や問題に最も適した記事を見つけてみてください。

于 2008-12-19T09:12:26.187 に答える