...サポートされていないメジャー。マイナーバージョン私は、私は自分のアプリケーションにログインするたびに、次の例外を取得しています49.0
javax.servlet.ServletException: COM /日/組織/ apacheの/のXalan /内部/ XSLTC/TRAX/TransformerFactoryImpl (サポートされていないメジャー。マイナーバージョン49.0)
この平均を行い、どのように私はこの問題を解決することができますか?
...サポートされていないメジャー。マイナーバージョン私は、私は自分のアプリケーションにログインするたびに、次の例外を取得しています49.0
javax.servlet.ServletException: COM /日/組織/ apacheの/のXalan /内部/ XSLTC/TRAX/TransformerFactoryImpl (サポートされていないメジャー。マイナーバージョン49.0)
この平均を行い、どのように私はこの問題を解決することができますか?
.classを実行するために使用しているJVMと、.classをコンパイルするために使用されたJavaのバージョンとの間に不一致があります。それを実行するJVMは、そのクラスをコンパイルするために使用されたJVMの以前のバージョンです。
hereの詳細については、以前のJVMで実行しようとしているバージョン1.5のクラスがあります。
EDIT:WAS 5.1は、JDK 1.4,it would appearを使用します。
1.4以前のJVMで実行しようとしているJava 5機能でコンパイルされたコードがいくつかあります。 JAVA_HOME変数が1.5以降のJDKを指していることを確認してください。
更新:あなたのコメントでは、WAS 5.1を使用していると言います。 WAS 5.1はJava 5をサポートしていません.WAS 6.1を使用してJava 5を使用する必要があります(参考のために...)
JDKの上位バージョンでマイナーJavaのバージョンは、javacコンパイラの-sourceおよび-targetスイッチを使用します。一部の顧客にはマイナーバージョンのJavaが必要です。 1.6で開発中です。 -sourceと-targetはこのszenarioに対して救済策です。あなたは、Alex Buckleyのバイトコードとソースコードのバージョニングの問題について、非常に良いpaperを読むかもしれません。
しかし、TransformerFactoryImplはSunの内部クラスであるため、コンテナ固有のJAVA_HOMEを確認してください。
残念ながら、javacは、-targetよりも上位のveruionに設定された-sourceを使用することを拒否し、いずれの場合でも古いJREにはまだ存在しないAPIライブラリの部分を使用することには役立ちません。 –
あなたのコードは、Java 1.5でコンパイルされ、あなたは、Java 1.4(またはそれ以下)でそれを実行しようとしていた
ソリューションは
a) Run it with Java1.5 (perhaps using WAS 6+)
b) Recompile it with Java 1.4
または
c) Recompile it with Java.15 but specifying the -target flag (javac -target 1.4 ....)
である点は、 1.4 vmで1.5バイトコードを実行しようとしています
sudo update-alternativesを使用する--config java使用したいバージョンを設定してください。
これは、別のJDKバージョンを使用しているマシンでコードをコンパイルしたときに発生します。 これらの異なるボックスで同じJDKバージョンを使用していることを確認してください。
私はWAS 5.1を使用しています。ローカルシステムにインストールされているJREはJRE 1.5.0_06 – Gourav
です。 – Gourav
@Gourav: 'java -version'を実行すると何が言いますか? – Powerlord