UbuntuでJava 5 / Tomcat 5.5の.warをコンパイルする方法は?
-
08-07-2019 - |
質問
(手動でインストールされた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 ...)?