質問

私は、Eclipseからバンデル化されたMaven-Antスクリプトを使用してJBOSSデプロイフォルダーにプロジェクトを構築して展開しようとしていますが、常にJBossが以下を記録することになります。

nested throwable: (java.lang.UnsupportedClassVersionError: Bad version number in .class file)

このプロジェクトの使用済みソフトウェアは次のとおりです。

  • アリ1.6.5
  • Maven-Antタスクプラグイン2.1.3
  • JBoss 4.0.5 Ga
  • JDK 1.4

ウィンドウの下のEclipse> fearnances私はjdkをに追加しました Java>Installed JREs 念のためにデフォルトにリストし、デフォルトに設定します。下 Project>Properties>Java Compiler コンプライアンスレベルを1.4に設定し、成功せずに他のコンプライアンス設定でプレイしました。

また、JBossは、Oracle Webサイトから1.4_03であるまったく同じJDKを使用するように設定されています。奇妙なことに、Eclipseはそれをバージョン1.5として識別する傾向があるということです。たとえば、Javaコンパイラページには次のように書かれています。

1.4コンプライアンスの選択の場合、互換性のあるJREをインストールしてアクティブ化していることを確認してください(現在1.5)。

誰かが私がどこで間違っていたのかというアドバイスをすることができますか?

前もって感謝します!

役に立ちましたか?

解決 4

私が使用したJDKは、間違ったバージョンであることが判明しました。私は以前の開発者の1人と連絡を取りましたが、彼は間違いなくJDK 1.5 Update 9で動作するはずで、それがすべての違いをもたらすと言いました。私はその曖昧なエラーメッセージを通り過ぎました。混乱してすみません、みんな!

他のヒント

これは、JBoss内の一部のクラスがJavac(より大きな主要な数字を持っている)の互換性のない(より最近の)バージョンでコンパイルされ、Jre Runung Jbossがこれをロードすることを拒否したことを意味します。

(問題のあるクラスはStacktraceのどこかにあります)

唯一の解決策は、より最近のJDKを使用してJBossとコンパイルを実行することです(1.4はかなり古く、AFAIKはサポートされなくなりました)

私はあなたのメイベン/アリの環境の特性を探し始めます。

EclipseでのJDK選択は、IDEでのみ使用されます。 Java_homeおよびその他のオプションは、コンパイルとビルドに使用されます。

また、環境から取得されるプロパティファイルに明示的に設定されていないかのように、Java_home環境変数を確認します。

Antスクリプトが正しいバージョンも使用していることを確認する必要があります。 1.5の警告を取得することは少し厄介です - EclipseがJDKを誤って識別すると信じるのは難しいと感じています。また、JDKはそうであることに留意してください いいえ JREと同じので、パス/などを再確認してください。

また、それを確認する必要があります 全て 展開されたライブラリ、およびJBOSSのライブラリは1.4でコンパイルされます - プロジェクトに依存関係がある場合、ライブラリは1.4でコンパイルされていない可能性があります。

また、Java EEとJava SEは2つの異なるものであり、JDK 1.4の下でJ2EE 1.4を実行できないため、「J2EE JDK 1.4」と言うのは少し混乱しています。

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