一般に、アプリケーションの jar が Java バージョンでコンパイルされ、他の Java バージョンで実行されていると、java.lang.UnsupportedClassVersionError
例外が発生することに気付きました。
しかし、私のアプリケーションはjarファイルlog4j
などを使用していますtomcat
...
- どのバージョンの Java を使用しても、このような例外が発生しないのはなぜですか?
- アプリケーションの jar を同じように動作させることは可能ですか?
一般に、アプリケーションの jar が Java バージョンでコンパイルされ、他の Java バージョンで実行されていると、java.lang.UnsupportedClassVersionError
例外が発生することに気付きました。
しかし、私のアプリケーションはjarファイルlog4j
などを使用していますtomcat
...
この例外は、送信したクラス バージョンが JVM でサポートされていない場合、つまり、少なくとも 1 つのクラスが JVM のそのバージョンよりも高いバージョンのコンパイラによってコンパイルされている場合にスローされます。
だから、それをチェックしてください。クラスをバージョン 1.7 のコンパイラでコンパイルし、それらを 1.6 で実行する可能性はありますか?
log4j と tomcat はまだ jvm 1.6 用にコンパイルされていると思うので、問題は発生しないと思います。-target
コンパイラのバージョンがより高い場合でも、特定のバージョンのクラスを生成できるコマンド ライン オプションを見てください。