2016-04-03 43 views
2

最近、既存のスタンドアロンJavaアプリケーションをJava 1.6からJava 1.8にアップグレードしなければならないタスクに割り当てられました。
私はまだコードを読んでいないので、私はこのプロジェクトについて知らない。既存のJavaプロジェクトをJava 1.6から1.8にアップグレード

彼らは ANT 1.6.1、
AXIS 1.5.1、 ABINITIO 2.15

ORACLE 11.1.0.7、
AUTOSYS R11、
のJava 1.6を使用していました。

最初に、上記のツール/フレームワークがJava 1.8と互換性があるかどうかを確認する必要があることを知りました。

アプリケーションをコンパイルしてビルドする際に遭遇する可能性がある他の課題を教えてください。

答えて

4

Javaはバージョン間の下位互換性があると考えられていますが、どの言語の下位互換性も、その名前が示しているようにまっすぐなものではないことも知られています。一部の(ほとんどの)プロジェクトでは、言語に追加された新機能や拡張機能を利用するために、開発キットを対象にしてコンパイルされたlibsバージョンをリリースしています。

私は、よりスマートな方法は、最初に、プロジェクトのJDKを更新し、新しいバイトコードのバージョンをターゲットにして再構築することだと考えています。 AntとEclipseの両方をアップグレードしなければならない可能性があります。Eclipse(see here why)。

第2に、コンパイルエラーをチェックする必要があります。これにより、ライブラリを条件付きで更新して修正する可能性が最も高くなります。解決されたものでは、アプリを実行して意図したとおりに動作しているかどうかを確認する必要があります。コンパイルの問題は、被験者が依存関係にあるときに氷山の頂上にすぎないことに注意してください。

アプリのログを慎重にチェックしてください。例外的に、主にClassCastException、ClassNotFoundException、NoClassDefFoundException、UnsatisfiedLinkErrorなどのクラスローディング例外に関連するものを探します。いずれかの問題がある場合は、1つ1つを特定し、特定のトラブルメーカーライブラリの特定のソリューションを検索する必要があります。

これらのすべてをカバーすると、あなたのアプリが再び健全に動作するはずです。

あなたのこのプロジェクトがまだ開発されている場合は、最新のリリースに更新するツールを使用することをお勧めします。ビルド(Ant、Maven、Gradleなど)、JDK、IDEなどの開発ツールも更新してください。大量のアップグレードを処理するよりもリリースされるので、ピースをアップグレードする方が簡単です:)

関連する問題