https://blogs.oracle.com/henrik/entry/migrating_from_java_se_6
なぜJava SE 6からJava SE 7へ移行しなければならないのか?
もっとも明確な理由は、Java 7で導入した新機能や機能改善を使っていただける、ということです。これらの変更は皆様のアプリケーションコードを少々変更しなければならない場合がありますが、こうした変更はパフォーマンスや品質、可読性の観点で非常に価値があるものです。詳細は以下のドキュメントをどうぞ。
Java SE 7 Documentationもう一つの重要な理由として、Oracle JDK 6のパブリックアップデートが終わったというものです。2013年2月以後、JDK 6のアップデートはパブリックにはご利用いただけなくなります。そして古いJDK 6はJava Archiveに移動されます。
JDK 7 Adoption Guide
http://docs.oracle.com/javase/7/docs/webnotes/adoptionGuide/index.html
Oracle Java ArchiveJavaの古いバージョンを使うのはおすすめできませんので、ちょうど今がJava 7へ移行するタイミングと考えます。パブリックアップデートの終了に関する詳細情報は、以下のリンクをご覧ください。
http://www.oracle.com/technetwork/java/archive-139210.html
Java SE End of Life Policyアプリケーションの移行が困難で引き続きOracle JDK 6のアップデートをご所望であれば、OracleはJava SE Supportプログラムを通じて長期サポートをご提供しています。
http://www.oracle.com/technetwork/java/eol-135779.html
Oracle Java SE Support
http://www.oracle.com/us/technologies/java/standard-edition/support/overview/index.html
[訳注]
Java SE AdvancedもしくはJava SE Suiteのことです。
http://www.oracle.com/jp/technologies/java/standard-edition/advanced-suite/overview/index.html
で、どうすればいいの?
Option 1 – “ただ実行するだけ”
Javaは後方互換性を有しています。つまりプログラムがJava SE 6でコンパイルされJava SE 6で動作していた場合、Java Se 7 JVMでも動作するであろう、ということです。Java SE 7はJavaプラットフォームの過去のバージョンとの互換性がありますので、大抵の既存のプログラムはJava SE 7上で修正の必要なく動作するはずです。ただし、まれな状況で少々JREとJDKに互換性のない箇所がありますが、そのような箇所は以下のドキュメントに記載されています。Incompatibilities between Java SE 7 and Java SE 6
http://www.oracle.com/technetwork/java/javase/compatibility-417013.html#incompatibilities.
Option 2 – ソースコードを修正して再コンパイル
Java SE 7で導入された新機能のほとんどはJavaのコードレベルでの改善ですので、その恩恵を受けるためには、あなたの古いソースコードをアップデートする、もしくは新しく書いたコードで新機能を使い、Java SE 7用にコードをコンパイルする必要があります。Netbeans IDEは新機能の利用が可能な場所をコードから見つける手助けをしてくれます。詳細は以下のリンクをご覧ください。他の主要なIDEでも同様の機能を持っています。
Refactoring with Inspect and Transform in the NetBeans IDE Java EditorAPIの中には"deprecated"(廃止予定)とマークされているものがあります。これらは別のAPIに書き換えることが推奨されています。廃止予定のAPIは以下のリンクから確認できます。
Convert to JDK 7
http://netbeans.org/kb/docs/java/editor-inspect-transform.html#convert
Deprecated API List (Java Platform SE 7)また、sun.* パッケージのAPIにも変更がありました。これらのAPIは、これまでもAPI内での利用のみを意図していたため、利用にあたっては「自己責任」ということになっています。
http://docs.oracle.com/javase/7/docs/api/deprecated-list.html
Why Developers Should Not Write Programs That Call 'sun' Packagesこれらのパッケージを利用している場合は、速やかに代替手段を見つけていただくことを強く推奨します。
http://www.oracle.com/technetwork/java/faq-sun-packages-142232.html
0 件のコメント:
コメントを投稿