[解決済み] java.lang.UnsupportedClassVersionError: .classファイルに不正なバージョン番号がある?
質問
私は、ソースからコンパイルしなければならなかったオープンソースライブラリをインクルードするときに、このエラーが発生します。 今、ウェブ上のすべての提案は、コードが1つのバージョンでコンパイルされ、別のバージョン(新旧)で実行されたことを示しています。 しかし、私のシステムにはJREのバージョンが1つしかありません。 もし私がコマンドを実行すると
$ javac -version
javac 1.5.0_18
$ java -version
java version "1.5.0_18"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_18-b02)
Java HotSpot(TM) Server VM (build 1.5.0_18-b02, mixed mode)
で、Eclipseでjavaライブラリのプロパティを確認すると、以下のようになります。
1.5.0_18
したがって、私は何か他のもの、クラス自体の内部で、例外をスローしていると結論づけなければなりませんか?そんなことが可能なのでしょうか?
どのように解決するのですか?
私は、このようなエラーメッセージはたいてい正しいことを学びました。報告されたエラーが言っていることが (自分の中では) ありえない場合、別の領域の問題を探しに行きますが、数時間後に元のエラー メッセージが本当に正しいことを発見します。
このメッセージが表示される最も可能性の高い理由は、プロジェクトの 1 つが 1.6 クラスをコンパイルしているためです。Eclipse には独自のコンパイラー (javac ではない) があり、1.6 クラスをコンパイルするために 1.5 の JRE が必要なだけなので、システム上に 1.5 の JRE しかなくても問題ではありません。 これは奇妙なことで、これを可能にするために設定をオフにする必要があるかもしれませんが、私はそれを行うことができました。
問題のプロジェクトについて、プロジェクトのプロパティ (通常は Alt+Enter) の Java コンパイラのセクションを確認します。これは、1.6 をコンパイルするように構成されたプロジェクトの画像ですが、1.5 の JRE しかありません。
関連
-
eclipseにプロジェクトをインポートした後、Editorにmain typeが含まれない問題
-
xxx:jarのアーティファクトディスクリプタの読み込みに失敗した問題は解決しました。
-
spring aop アドバイスからの Null 戻り値が、サマリーのプリミティブ戻り値と一致しない。
-
スレッド "main" で例外発生 java.net.BindException: アドレスは既に使用中です。NET_Bind
-
ブラウザでの大容量ファイルスライスアップロード(Javaサーバサイド実装)
-
[解決済み] プライベートメソッド、フィールド、インナークラスを持つクラスをテストするにはどうすればよいですか?
-
[解決済み] Java内部クラスと静的ネストされたクラス
-
[解決済み] java.lang.UnsupportedClassVersionError を修正する方法。サポートされていないメジャー.マイナーバージョン
-
[解決済み] スクリプトを実行しているPythonのバージョンを確認するにはどうしたらいいですか?
-
[解決済み] アセンブリファイルのバージョンを取得する方法
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
Java エラー報告 スレッド "main" での例外 java.util.NoSuchElementException
-
final, finally, finalizeの違いについて話してください。
-
SpringBootApplication を型解決できない。
-
をインスタンス化することができません。
-
this()の呼び出しはコンストラクタ本体の最初の文でなければならない 例外解決と原因分析
-
Eclipseプロンプトを実行する java仮想マシンを使用しない
-
Eclipseでプロジェクトエクスプローラービューとパッケージエクスプローラービューを使う
-
VMの初期化中にエラーが発生しました java/lang/NoClassDefFoundError: java/lang/Object
-
スレッド "main" で例外発生 java.lang.ArrayIndexOutOfBoundsException: 0 at One1.main(One1.java:3)
-
mavenプロジェクトのテストエラー java.lang.ClassNotFoundException: org.glassfish.jersey.client.ClientConfig の問題を解決する。