ライブラリ制限によるクラスのアクセス制限の解決
IBM の WSDL2Java によって生成された Java 1.4 コードを、再生成せずに Java 5 を使用してコンパイルしようとしました。スタブで、ユーザーは Eclipse でアクセス制限エラーに遭遇しました。このエラーは、必要なライブラリ rt.jar の制限により QName タイプにアクセスできないことが原因で発生しました。
この問題を解決するには、複数の解決策が考えられます。
再作成スタブ:
考えられるルートの 1 つは、最新バージョンのWSDL2Java。このアプローチでは、使用されている Java バージョンとの互換性が保証されますが、生成されたコードが元のコードと大きく異なる場合は、さらに複雑な問題が発生する可能性があります。
クラスパスの並べ替え:
代替案効果的であることが証明されている解決策は、プロジェクトのビルド パス設定を変更することです。
このプロセスはクラスパスを並べ替えて、適切なクラスを優先し、アクセス制限を解決します。
重複 JAR の除外:
より包括的な解決策として、同一のクラスを含む重複 JAR ファイルがプロジェクトから除外されていることを確認してください。これにより、競合が防止され、正しいクラスが確実に使用されるようになります。
この例では、axis-saaj-1.4.jar ファイルと saaj-api-1.3.jar ファイルを除外することで問題が解決されています。 javax.xml.soap.SOAPPart クラスが含まれています。
以上がJava 5 で IBM WSDL2Java 生成コードを使用する場合の Java アクセス制限エラーを解決する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。