Thursday, May 24, 2007

なぜ sun.* パッケージを利用すべきでは無いのか?

久しぶりにJavaに触れた。

CSR のデコードがしたくてそれを実現できそうなクラスが無いかと標準クラスライブラリを探し、 sun.security.pkcs.* にそれらしいものがあったので使ってみることにしたのだが、 何故かAPIリファレンスsun.* パッケージの項目が見あたらない。 いくらググっても出てこない。

おかしいな〜と思いながら Sun/Java SE のページを眺めていたところ、FAQにその答えを見つけた。

JDK and Sun.* Packages FAQ

要約すると、

なぜ sun.* パッケージを利用すべきでは無いのか?
  • sun.* は Pure Java 実装でない(OS毎に実装が異なる)
  • sun.* は将来のバージョンで予告なしに変更される可能性がある
  • sun.* はサポートされないパブリックインターフェースである
  • だから sun.* のドキュメントは提供していない
  • sun.* は各ベンダー実装のJavaプラットフォームには存在しない
  • 別に sun.* を利用することを禁止しているわけではない
  • 使うなら自己責任でよろしく

といった感じの内容。

これって常識?知らなかった。

0 comments: