質問

(手動でインストールされたEclipse 3.4を使用して)ubuntuでJava5 / Tomcat 5.5用のwebtoolsプロジェクトをコンパイルしようとしています。インストールしたjreをjava-1.5.0-sun-1.5.0.18に設定し、コンパイラー準拠レベルを1.5に設定しました。これを.warファイルにエクスポートし、Tomcat(Windows XP、Tomcat 5.5.27、Java 1.5.0_18)にデプロイしようとすると、次のエラーが表示されます。

SEVERE: Error deploying web application archive Jdbc2Ei.war
java.lang.UnsupportedClassVersionError: Bad version number in .class file
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(Unknown Source)
...

誰もこれを解決する方法を知っていますか?

役に立ちましたか?

解決 2

Windowsでコンパイルし、動作します!どこかにバグがあります...この問題は修正される予定です。

他のヒント

  

java.lang.UnsupportedClassVersionError:.classファイルのバージョン番号が不正です

すべてのjar がjava5用にコンパイルされていることを確認します。

Windowsで動作する場合は、おそらくLinuxバージョンのJDKに存在するバグではなく、環境の違いが原因です。 Linuxに複数のJVMが存在するかどうかを確認し(UbuntuにはSun以外のバージョンが付属している可能性が高いため、ほぼ確実に実行します)、コンパイルに予想されるバージョンを使用していることを110%確認します。発行

which javac

and

echo $JAVA_HOME; echo $JDK_HOME

コマンドラインからも役立つ場合があります。これらはすべて、JDK(およびコンパイルコマンド/ツールで使用する設定)の検索に使用できるためです。

Tomcatは、一部のクラスのコンパイルに使用したJDKよりも少ないJDKを実行しています。互換性のあるJDKで再コンパイルするか、TomcatのJREをアップグレードします。

単純なもの: プロジェクトの設定を変更した後、UbuntuでWARファイルをエクスポートする前に、プロジェクトで強制コンパイルを試みましたか(プロジェクト-> EclipseのClean ...)?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top