0

一般に、アプリケーションの jar が Java バージョンでコンパイルされ、他の Java バージョンで実行されていると、java.lang.UnsupportedClassVersionError例外が発生することに気付きました。

しかし、私のアプリケーションはjarファイルlog4jなどを使用していますtomcat...

  1. どのバージョンの Java を使用しても、このような例外が発生しないのはなぜですか?
  2. アプリケーションの jar を同じように動作させることは可能ですか?
4

1 に答える 1

1

この例外は、送信したクラス バージョンが JVM でサポートされていない場合、つまり、少なくとも 1 つのクラスが JVM のそのバージョンよりも高いバージョンのコンパイラによってコンパイルされている場合にスローされます。

だから、それをチェックしてください。クラスをバージョン 1.7 のコンパイラでコンパイルし、それらを 1.6 で実行する可能性はありますか?

log4j と tomcat はまだ jvm 1.6 用にコンパイルされていると思うので、問題は発生しないと思います。-targetコンパイラのバージョンがより高い場合でも、特定のバージョンのクラスを生成できるコマンド ライン オプションを見てください。

于 2013-05-20T11:37:05.477 に答える