0

Web アプリケーション プロジェクトを Mac OSX 10.8.2 にダウンロードし、Apacheantを使用してコンパイルしています。アプリケーションの実行中に JSP をコンパイルして実行しようとすると、次のエラーが発生します。

javax.servlet.ServletException: java.lang.UnsupportedClassVersionError
Unsupported major.minor version 51.0

Web でこの問題を検索しましたが、この問題は、コンパイルされたバージョンが実行中の Java のバージョンと異なることが原因のようです。提案された解決策はすべて「Eclipse でコンパイラーのバージョンを設定する」ことですが、私は Eclipse を使用していません...

これは私の環境です:

java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.0_05-b06)
Java HotSpot(TM) 64-Bit Server VM (build 23.1-b03, mixed mode)

クラス ファイルの ant コンパイル バージョンを確認して、この問題を解決するにはどうすればよいですか?

4

2 に答える 2

3

この問題は、Java の上位バージョンでコードをコンパイルし、Java の下位バージョンでコードを実行したために発生します。通常、サーバーには独自のバージョンの JVM が付属しています。したがって、サーバーで使用されている jvm を見つける 1 つの方法は、サーバーの起動ログを確認することです。jvm のバージョンが表示されます。

于 2013-02-08T12:16:24.447 に答える
2

UnsupportedClassVersionError の主な原因は、実行中のバージョンとコンパイル バージョンの間の Java バージョンの不一致です。

エラーを回避するには、両方のバージョンが一致している必要があります。次のリンクにアクセスして、Ant のバージョン変更に関する詳細を取得してください。

Ant で Unsupported major.minor version エラーが表示されるのはなぜですか

于 2013-02-09T05:04:25.747 に答える