rt.jar 依存関係による Java クラスのアクセス制限
WSDL2Java によって生成された古いスタブを使用して Java 1.4 コードをコンパイルしようとすると、開発者はアクセス制限エラーが発生しました。このエラーは、rt.jar ライブラリの制限により QName 型にアクセスできないことが原因で発生します。スタブはランタイム jar を使用してコンパイルする必要があると想定されていますが、複数の jar ファイルに重複したクラスがある場合にこの問題が発生します。
解決策:
この問題を解決するには、次の手順に従います:
これにより、rt.jar ファイル内のクラスの正しいバージョンが優先され、QName タイプへのアクセスが許可されます。 .
代替解決策:
根本的な問題に対処するには問題が発生した場合は、重複したクラスを含む jar ファイルを特定して除外します。これにより、クラスの正しいバージョンが確実にロードされ、コンパイラーによって使用されます。示されている例では、重複クラスは複数の jar で見つかった javax.xml.soap.SOAPPart です。 axis-saaj-1.4.jar および saaj-api-1.3.jar ファイルを除外すると、rt.jar バージョンを利用できるようになり、アクセス制限が解決されます。
以上がrt.jar のアクセス制限により Java 1.4 コードがコンパイルに失敗するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。