5

つまり、com.sun.org.apache (すべてのサブパッケージ) クラスを org.apache (任意の Apache lib) から使用するのと同じように使用できますか?

OpenJDK は、このパッケージを Apache の更新で最新の状態に維持しますか?

そしてJDK7はこのパッケージを維持しますか?

それに関する情報はどこにありますか?

4

4 に答える 4

7

それを使用するのは非常に悪い考えです。むかしむかし、Sun はバグだらけの Xerces のコピーを入手しました。彼らはいくつかの変更を加えました。おそらく彼らはいくつかのバグを差し引いた. 彼らが差し引いていない非常に深刻なバグがたくさんあることを私たちは知っています。

そして、名前を com.sun.... に変更しました。理由の 1 つは、使用しないように指示するためです。いつでも、どの時点のリリースでも、どのパッチでも、それらのクラスを非互換に変更したり、削除したりすることができます。

さらに、これらのクラスは、IBM の JRE のコピー、Apple、または (笑) Microsoft の、または JRocket に含まれていない可能性があります。

Xerces が必要な場合は、Xerces を使用してください。これに関する情報を見つけるには、Sun によってフォークされたバージョンに関する Xerces 開発者からの多くの厳しい警告について、Xerces-j メーリング リスト アーカイブを参照してください。

クラスが正式に「パブリック」であるという事実は、Sun がnew他のパッケージからクラスにアクセスできるようにする必要があるということ以外には何も意味しません。

于 2010-05-07T20:49:14.320 に答える
1

それらが内部クラスであり、時間の経過とともに変化するリスクがあるという事実に基づいて、私はそうしません。代わりに org.apache クラスを使用してください。

それらを最新の状態に保つ意図についてはわかりません。openjdk フォーラムにメッセージを投稿してみてください。

http://mail.openjdk.java.net/mailman/listinfo

于 2010-05-07T20:25:04.557 に答える
1

私の理解では、これは apache コードのフォークです。ある時点でそれらは同じでしたが、それ以上ではありませんでした。したがって、両方のバージョンに同じバグ修正が含まれているとは限りません。

于 2010-05-07T20:27:49.187 に答える
0

このパッケージのドキュメントに公開されていると記載されている場合は、使用しても問題ありません。

そうしないと、将来サポートしないことを決定したときに、床があなたの下にプールされる可能性があります。

通常、JDK では java と javax 以外に依存するべきではありません。

于 2010-05-07T20:26:09.063 に答える