次の方法で共有


Java 7 から Java 8 への移行

この記事では、アプリケーションを Java 7 から Java 8 に移行する方法の概要について説明します。 Java 8 の機能の使用方法については説明しません。

コードを Java 7 から Java 8 に移行するための万能ソリューションはありません。 通常、Java 7 から Java 8 への移行は少量の作業です。 潜在的な問題には、いくつかの変更された API、javac での型推論の厳格化、クラス ローダーの変更、 permgen への変更 (ガベージ コレクションの一部) などがあります。

一般に、最善の方法は、最初に再コンパイルせずに Java 8 で実行することです。 この方法では、できるだけ早くアプリケーションを起動して実行できます。 ライブラリの目的は、JDK 8 でコンパイルおよびテストされた成果物を発行することです。

Java 7 End of Life (EOL)

コミュニティのサポートは、Java 7 が 2022 年 7 月 29 日に終了すると終了します。 Java 7 で実行されているアプリケーションは引き続き実行されますが、Java 7 自体は更新プログラムやセキュリティ パッチを受け取りません。 リスクと潜在的なセキュリティの脆弱性を最小限に抑えるには、ワークロードの要件に応じて、アプリケーションを Java 8 または 11 にアップグレードします。

以下の正規ガイドは、 Oracle JDK 移行ガイドです。 移行ガイドでは、 Java 仕様のすべての非互換性JDK 実装の非互換性について説明します。 これらの非互換性のほとんどはエッジ ケースであり、警告が表示されたときやエラーが発生したときに調査する必要があります。

Java 8 での実行

ほとんどのアプリケーションは、Java 8 で変更せずに実行する必要があります。 最初に試してみるのは、コードを再コンパイルせずに Java 8 で実行することです。 ただ実行するポイントは、実行から発生する警告とエラーを確認することです。 このアプローチでは、次の操作を行います。
必要な最小限の作業に焦点を当てることで、Java 8 で実行するアプリケーションをより迅速に行うことができます。

コードを再コンパイルしなくても、発生する可能性があるほとんどの問題を解決できます。 コードで問題を修正する必要がある場合は、修正を行いますが、JDK 7 でコンパイルし続けます。 可能であれば、JDK 8 でコンパイルする前に、 バージョン 8 でjavaするように作業します。

Java 8 でのコンパイル

JDK 8 を使用してコンパイルするには、スクリプト、ツール、テスト フレームワーク、および含まれているライブラリをビルドするための更新が必要になる場合があります。 -Xlint:unchecked オプションをjavacに使用して、JDK 内部 API およびその他の警告の使用に関する詳細を取得します。

Azure App Service 用 Java 7 からの移行

App Services を Java 7 から Java 8 または 11 に移行するには、Azure portal にサインインし、更新する Web アプリに移動し、 Configuration>Settings>Stack Settings に移動します。 Java のメジャー バージョンとマイナー バージョンのドロップダウンと、Tomcat を使用している場合は Tomcat のバージョンが表示されます。 Java 8 または 11 を選択します。 デプロイ スロットでこの構成変更を行って、構成の変更を安全にテストしてから、新しい環境を運用環境にスワップできることを忘れないでください。 (Java 7 は、お客様が古いランタイムに依存しないようにするために非表示になる場合があります)。詳細については、「 Azure App Service でのステージング環境の設定」を参照してください。

セレクターを使用して Java のバージョンを変更する

新しいランタイム オプションを指定する必要があり、アプリケーションの起動時に適用される場合は、 JAVA_TOOLS アプリ設定を使用できます。 詳細については、「 Azure App Service 用の Java アプリを構成する」を参照してください。 App Service 上のランタイムのサポート ポリシーの詳細については、App Service の概要の「組み込みの言語とフレームワーク」セクションを参照してください。

次のステップ

Java 8 でアプリケーションを実行したら、次のガイドを使用して Java 11 への Java モダン化パスに従うことをお勧めします。