可能性のある複製:
「main」スレッドの例外Java.lang.UnsupportedClassVersionError:a(Unsupporte d major.minor version 51.0)
Java jdk 1.7.0を使用して、Eclipse IDE(Indigo)でWebアプリケーションを開発し、Tomcat(Apache-Tomcat- 7.0.23)Eclipse IDEで構成されています。
IDEを介してアプリケーションを実行しようとした場合、問題なく実行されますが、その戦争を作成してApacheデプロイメントフォルダ(webapps)に配置し、IDE開始ページは正常にロードされますが、それに対して何らかの操作を行おうとするとエラーが発生します
UnsupportedClassVersionError unsupported major.minor version 51.0 unable to load class bean.myclassname
jdk 1.7.0の外側のJavaバージョンをチェックしました。また、Java_HOME環境変数がC:\ Program Files\Java\jdk1.7.0_01に設定されています。
おそらく、外部で実行するときに同じバージョンのJavaを使用していないと思われます。起動スクリプトを注意深く調べて、実行するJavaのバージョンをピックアップする場所を見つけます。また、起動ログをチェックして、実行中のバージョンを示しているかどうかを確認する必要があります。
または、Java 7機能をneedしない限り、Eclipseのコンパイラ設定を常にターゲット1.6に変更できます。
EclipseのJDKは1.7ですが、Eclipseのコンパイルレベルも1.7に設定する必要があります。コンパイルレベルを確認できます->ウィンドウ->設定-> Java--コンパイラ-コンパイルレベル。
サポートされていない重大なマイナーエラーは、コンパイルレベルがランタイムと一致しない場合に発生します。
Java_home環境変数は、Javaインストールディレクトリの適切なバージョンの場所を指す必要があります。これにより、Tomcatは正しいバージョンで起動します。たとえば、Java 1.7、Java_HOME環境変数がマシンのjdk 1.7インストールディレクトリを指していることを確認します。
私は同じ問題を抱えていました、Tomcatで戦争を展開して実行すると、リンクがエラーをスローします。しかし、変数-Java_HOMEをjdk 1.7にポイントすると、warファイルがJava 1.7環境でビルドされたため、問題が解決しました。
Eclipse.iniファイルに次を追加してみてください。
-vm
C:\Program Files\Java\jdk1.7.0_01\bin\Java.exe
同じファイルでDosgi.requiredJavaVersionを1.7に変更する必要がある場合もあります。