jaxws-rt.jar を介して既に利用可能な場合に、rt.jar 内の jax-ws パッケージの「内部」実装の使用を理解していません。なぜ Sun/Oracle は jax-ws を jdk 内に統合するという決定を下すのでしょうか...両方の jar の両方のパッケージのクラスの変更が並行して実行されるかどうかはわかりません....誰かがどの光を当てることができますか実際に参照する必要があります...????
2 に答える
jaxws-rt.jar
は Java RE の一部ではありません。ただし、RE には JAXWS の内部実装が必要です。したがって、私が覚えている限りでは、com.sun.xml.internal.ws
アプリケーションがクラスパスに JAXWS の別の実装を配置した場合に将来の競合やエラーを回避するために、パッケージに 1 つ実装していました。
別の側面: 誰かが新しい実装をクラスパスに追加したとしても、この新しい実装にバグがあっても、JRE が期待どおりに動作することが保証されます。
これをどこで見ているのかについては、コンテキストを提供しません。
デフォルトでは、javax.xml.ws*
型の背後にある JAX-WS 実装は、JRE に同梱されているものです。JAX-WS はSPIを定義します。JRE クラスをオーバーライドするには、代替実装が承認されたディレクトリに存在する必要があります。
一部の Java EE 5 アプリケーション サーバーは、Java 1.5 と 1.6 の両方で動作する場合があります。Java 1.5 仕様を満たすには、アプリケーション サーバーは JAX-WS 実装を出荷する必要があります。Java EE 6 実装は、Java 6 実装をオーバーライドします (Java EE 6 は JAX-WS 2.2 を義務付けているのに対し、Java SE 6 は 2.0 を義務付けています)。
したがって、状況によっては JAX-WS の複数の実装を見ることができます。どちらが使用されるかは、構成によって異なります。