サポートされていないmajor.minorバージョン52.0 [重複]

632
user3397452 2014-03-19 09:40.

ピクチャー:

バージョンを表示するコマンドプロンプト

エラーの画像

Hello.java

import java.applet.Applet;
import java.awt.*;

public class Hello extends Applet {

    // Java applet to draw "Hello World"
    public void paint (Graphics page) {
        page.drawString ("Hello World!", 50, 50);
    }
}

Hello.html

<HTML>
    <HEAD>
        <TITLE>HelloWorld Applet</TITLE>
    </HEAD>

    <BODY>
        <APPLET CODE="Hello.class" WIDTH=300 HEIGHT=150>
        </APPLET>
    </BODY>
</HTML>

エラー

Hello : Unsupported major.minor version 52.0

問題は何でしょうか?

26 answers

636
Aks 2016-03-09 01:22.

この問題は、Javaバージョンの不一致が原因です。参照すると、ウィキペディアのJavaクラスリファレンス

  • Java SE 14 = 58
  • Java SE 13 = 57
  • Java SE 12 = 56(0x38 hex)
  • Java SE 11 = 55(0x37 hex)
  • Java SE 10 = 54
  • Java SE 9 = 53
  • Java SE 8 = 52
  • Java SE 7 = 51
  • Java SE 6.0 = 50
  • Java SE 5.0 = 49
  • JDK 1.4 = 48
  • JDK 1.3 = 47
  • JDK 1.2 = 46
  • JDK 1.1 = 45

これらは割り当てられたメジャー番号です。サポートされていないmajor.minorバージョンに関するエラーは、コンパイル時に実行時に高いJDKと低いJDKを使用しているためです

したがって、「major.minor version 52.0」エラーは、jarがJDK 1.8でコンパイルされたことが原因である可能性がありますが、JDK1.7環境を使用して実行しようとしています。報告される番号は必要な番号であり、使用している番号ではありません。これを解決するには、JDKとJREが同じバージョンを指すようにすることをお勧めします。

IntelliJ IDEAでは、

  1. 行くMavenの設定Mavenのインポート。インポーターのJDKを1.8に設定します。
  2. 行くMavenの設定Mavenのランナー。JREを1.8に設定します。
  3. メニューファイル*→プロジェクト構造SDKに移動します。JDKホームパスが1.8に設定されていることを確認してください。

IntelliJIDEAを再起動します。

役立つ可能性のある別のアプローチは、どのJDKバージョンで起動するかをIntelliJIDEAに指示することです。

移動先:/アプリケーション/ IntelliJの\ IDEA \ 15 \ CE.app/Contents/Info.plist としてJVMのバージョンを置き換えます。

<key>JVMVersion</key>
<string>1.8*</string>
90
Andrew Thompson 2014-03-19 19:10.

この問題を解決する賢い方法は、最新のSDKを使用してコンパイルし、コンパイル時にクロスコンパイルオプションを使用することです。オプションを完全に正しく使用するには、ターゲットバージョンのrt.jarJRE(JDKではない)が必要です。

そのアプレットの性質を考えると、Java1.1で使用するためにコンパイルできるように見えます。

63
olammy 2014-11-13 05:38.

IDEでコンパイラのコンプライアンスレベルを1.7に戻す必要があります。

これは、IDEの設定で行うことができます。たとえば、Eclipseで[ Windows ] → [設定]メニューに移動し、[Java ]を選択して展開します。次に、[コンパイラ]を選択し、コンプライアンスレベルを1.7に変更します。これはそこからうまくいくと確信しています。

52
ZAIRI Oussama 2015-03-21 12:03.

同じバージョンのJavaを使用してアプリケーションを実行およびコンパイルする必要があります。

Eclipseを使用している場合は、次の2つのことを行う必要があります。

  1. Eclipseで、[ウィンドウ]> [設定]をクリックし、表示されるウィンドウの左側にある[ Java ]の下で、[インストールされたJRE ]をクリックし、[追加... ]をクリックして、を含むフォルダーに移動します。 JDK。

  2. プロジェクトを右クリックして[プロパティ]をクリックし、表示されるウィンドウの左側で[ Javaコンパイラ]をクリックし、[ Javaビルドパスの実行環境からのコンプライアンスを使用する]をオフにします。これにより、リスト「コンパイラのコンパイルレベル」で、前の手順で設定したのと同じバージョン。

25
Adi 2015-08-24 22:50.

JavaバージョンをJava8にアップグレードする必要があります。

最新のJavaアーカイブをダウンロードする

最新のJavaSE Development Kit 8リリースを公式ダウンロードページからダウンロードするか、次のコマンドを使用してシェルからダウンロードします。

64ビットの場合

 # cd /opt/

 # wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u51-b16/jdk-8u51-linux-x64.tar.gz"

 # tar xzf jdk-8u51-linux-x64.tar.gz

32ビットの場合

 # cd /opt/

 # wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http%3A%2F%2Fwww.oracle.com%2F; oraclelicense=accept-securebackup-cookie" "http://download.oracle.com/otn-pub/java/jdk/8u51-b16/jdk-8u51-linux-i586.tar.gz"

  # tar xzf jdk-8u51-linux-i586.tar.gz

注:上記のwgetコマンドが機能しない場合は、このサンプルビデオを見て、ターミナルを使用してJavaソースアーカイブをダウンロードしてください。

代替手段を使用してJavaをインストールする

アーカイブファイルを抽出した後、alternativesコマンドを使用してインストールします。Alternativesコマンドは、chkconfigパッケージで利用できます。

 # cd /opt/jdk1.8.0_51/

 # alternatives --install /usr/bin/java java /opt/jdk1.8.0_51/bin/java 2

 # alternatives --config java

この時点で、Java8はシステムに正常にインストールされています。また、代替手段を使用してjavacおよびjarコマンドパスを設定することをお勧めします。

 # alternatives --install /usr/bin/jar jar /opt/jdk1.8.0_51/bin/jar 2

 # alternatives --install /usr/bin/javac javac /opt/jdk1.8.0_51/bin/javac 2

 # alternatives --set jar /opt/jdk1.8.0_51/bin/jar

 # alternatives --set javac /opt/jdk1.8.0_51/bin/javac

インストールされているJavaのバージョンを確認してください

次のコマンドを使用して、インストールされているJavaのバージョンを確認します。

[email protected] ~# java -version

java version "1.8.0_51"
Java(TM) SE Runtime Environment (build 1.8.0_51-b16)
Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode)

環境変数の構成

ほとんどのJavaベースのアプリケーションは、環境変数を使用して機能します。次のコマンドを使用して、Java環境変数を設定します。

JAVA_HOME変数を設定します

# export JAVA_HOME=/opt/jdk1.8.0_51
Setup JRE_HOME Variable

# export JRE_HOME=$JAVA_HOME/jre
Setup PATH Variable

# export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

PATH変数を変更すると、新しいJava binフォルダーが最初に配置され、パス内の既存のjava / binがオーバーライドされることに注意してください。パスに2つのjava / binフォルダーを残すのは少し厄介なので、それらを別のタスクとしてクリーンアップすることをお勧めします。

また、/etc/environmentシステム起動時に自動ロードするために、上記のすべての環境変数をファイルに入れます。

23
Analyst 2014-05-31 06:13.

同じ問題が発生しました... JDKとプラグインのバージョンが競合しています。

1.8 ...最新のものを使用してコンパイルしたところ、そのメッセージが表示され始めました。そこで、JRE 7(http://www.oracle.com/technetwork/java/javase/downloads/server-jre7-downloads-1931105.html)を検索してインストールしました... 。同じコンピュータで1.8と1.7になりました。

NetBeansを使用し、コンパイルしてバージョン1.7をターゲットにすると、問題が修正されました。

19
Ivo Stoyanov 2016-03-11 02:59.

Android Studioに問題があり、Android Nをインストールしている場合は、Androidレンダリングバージョンを古いバージョンに変更すると、問題は解消されます。

17
Eduardo Dennis 2014-09-17 03:52.

NetBeans IDEを使用している場合は、プロジェクトを右クリックして「プロパティ」を選択し、「ソース」に移動します。ソース/バイナリ形式をより低いJDKバージョンに変更できます。

14
Akshay Vijay Jain 2016-06-03 22:19.

サポートされていないmajor.minorバージョン52.0は、Java1.8コンパイラを使用してコンパイルされたクラスをJRE1.7やJRE1.6などの下位JREバージョンで実行しようとした場合に発生します。このエラーを修正する最も簡単な方法は、最新のJavaリリース(Java 8)をインストールして、プログラムを実行することです。

続きを読む:http//javarevisited.blogspot.com/2015/05/fixing-unsupported-majorminor-version.html#ixzz4AVD4Evgv

11
Prateek Joshi 2016-04-30 18:31.

これは、プロジェクトhigher versionをjava(たとえば、jdk 1.8)でコンパイルし、それをlower version(たとえば、jdk 1.7)で実行すると発生します。

プロジェクトパスにJRE-1.7ライブラリがある場合は、

1.プロジェクトを右クリックします

2.プロパティに移動します

3.プロジェクトファセットを選択します

4.行でJavaを検索し、JRE-1.7を使用している場合はバージョン(たとえば1.7)を選択します

5. [適用]をクリックして、プロジェクトを実行します。

11
mboy 2016-07-11 01:37.

古いバージョンのJREを削除し、JRE 8をインストールすることで、問題を解決しました。

10
user3181500 2015-08-29 00:31.

私は以下の解決策を使用して同じ問題を解決することができます。

私のプロジェクトでは、Java 8で作成されたJARファイルを追加しました。プロジェクトはJRE 7を参照していました。プロジェクトJREを8に変更すると、問題は解決しました。

手順:

Eclipseで、プロジェクトエクスプローラーでプロジェクト名を右クリック→ビルドパス→ライブラリ→JREバージョンをクリック→編集インストール済みJRE →追加→標準VM→JREホームクリックパスを選択(パスはlocalePath\java\jdk1.8.0_25\jre)→名前を指定→保存→プロジェクトに同じJREを選択→終了→ OK。プロジェクトを1回更新/ビルド→Javaファイルを実行してみます。動作するはずです。

9
Lior Ohana 2015-06-18 06:50.

Java 1.7および1.8をインストールしました(Java1.8を必要とするSBT2.4を使用)。プロジェクトがJava1.8にリンクされていたとしても、JAVA_HOME環境変数をポイント1.8に変更する必要がありました。最後に、問題は解決しました。

6
kalan nawarathne 2015-09-20 23:09.

Eclipseを使用している場合は、メニューの[プロジェクト] →[プロパティ] →[ Javaビルドパス] →[ライブラリ] →[ JREシステムライブラリ]がプロジェクトの要件と一致していることを確認してください(画像を参照)。

6
Nixit Patel 2016-05-07 07:53.

問題を解決するために必要なのは...コンパイルと実行の両方でJavaのバージョンが同じであることを確認することだけです。使用しているツールやIDEに関係なく。

5
Masoud 2016-04-05 09:46.

Linuxを使用していて、異なるバージョンのJavaがインストールされている場合は、次のコマンドを使用します。

sudo update-alternatives --config java

これにより、システムにインストールされているJavaバージョンをすばやく切り替えることができます。Java 8を選択することで、問題を解決します。

5
Val 2015-02-12 12:32.

これは、新しいJava 1.8をインストールしたときに発生しましたが、古いコマンドラインインタープリターは開いたままにしました。

プロジェクトはすでにJava1.8でビルドされていましたが、古いパスがあり、Java1.7でアプリケーションを実行し続けました。

4
Kyeson 2016-06-18 20:38.

JDKのバージョンが正しい場合。このエラーを引き起こす可能性のあるもう1つの理由は、Android Studioのバージョンが低いが、Gradleのバージョンが高すぎることです。Upgrade your IDE to a newer versionこれを助けるかもしれません。

4
ireshika piyumalie 2016-07-02 01:49.

AndorraバージョンをJDK1.8にアップグレードします。

これは、コンパイラがJavaバージョン8を探していて、Javaバージョン7を使用しているというバージョンの不一致です。

バージョン7のバージョン8でアプリビルドを実行できますが、その逆はできません。上位レベルになると、バージョンには以前のバージョンよりも多くの機能や拡張機能が組み込まれているためです。

このリンクからJDKバージョンをダウンロードします

そして、このためのJDKパスを設定します

3
ClaireWang 2015-06-04 22:18.

JDK1.8.0ではなくJDK1.7.0を使用する必要があります。

確実にするには、コンピューター上のJDK1.8.0を削除する必要があります。

Macを使用している場合は、以下を削除する必要があります。

/Library/Java/JavaVirtualMachines/jdk.jdk

/Library/PreferencePanes/JavaControlPanel.prefPane

/ Library / Internet Plug-Ins / JavaAppletPlugin.plugin

次に、JDK 1.7.0を再インストールする必要があります。これで、.jarファイルの生成に成功します。

3
ct.tan 2015-04-15 18:00.

Eclipse v4.4(Luna)を使用していて、上記のすべての手順をすでに完了している場合は、実行構成の設定を確認することをお勧めします。

このエラーの原因となる可能性がいくつかあります。根本的な原因は、環境コンパイラがJDK1.7 / JRE7であるのに対し、プロジェクトがJDK1.8 / JRE8でコンパイルする必要があるという不一致です。

私のブログ投稿をチェックして、すべての設定が正しいことを確認できます。

1
Bevor 2015-06-21 04:24.

これらの答えはどれも私を助けませんでしたが、私は解決策を見つけました。
Wildfly 8.2で使用されるWebプロジェクトがあり、Mavenでビルドされ、ソースとターゲットはmaven-compiler-pluginで1.8に設定され、すべてのEclipseとMavenの設定はJava1.8に設定されました。問題は、Wildfly8.2がJava1.8を処理できないことでした。そのため、すべてを1.7に設定する必要があり、それが機能しました。

1
dexter 2015-12-11 00:47.

これを追加したいだけです。私は今日この問題を抱えていました。プロジェクトの設定を調整し、再構築しましたが、同じ問題が発生しました。プロジェクト(Eclipse)の設定を変更すると、プロジェクトが依存しているプロジェクトも再コンパイルされると(誤って)想定していました。依存関係ツリーの上のすべてのプロジェクトの設定を調整すると、問題が解決しました。

1
Bikey 2016-05-06 08:59.

http://java.com/en/download/にアクセスして、JREのバージョンを更新するだけです。

1
Esmaeil MIRZAEE 2015-10-20 02:29.

IntelliJ IDEAを使用している場合は、プロジェクト構造(Ctrl+ Alt+ Shift+ S)に移動すると、プロジェクトのJDKを変更できます。

1
Gene Bo 2016-03-18 19:25.

Mac OS X v10.9(Mavericks)のEclipseでこの問題が発生しました。Stack Overflowで多くの回答を試しました...最後に、丸1日後に* Android SDKの新しいバージョンをインストールしました(新しいパスを使用するようにEclipseのメニュー[プロジェクト] →[プロパティ] →[ Android ]を更新しました)*

私は私が働いていなかったのAPIを避け、SDKのアップデートを取得しなければならなかったが、唯一の私は思ったこれらの更新をプルダウンする必要がなかった...(着用し、テレビのような)トリックをしたと。どうやら、途中でSDKが破損したようです。

ところで..ワークスペース内の1つのプロジェクトでエラーが再表示されましたが、使用していなかったappcompat-7のインポートに関連しているようです。そのプロジェクトを実行した後、これまでのところ問題が再発するのを見ていません。

Related questions

MORE COOL STUFF

「水曜日」シーズン1の中心には大きなミステリーがあります

「水曜日」シーズン1の中心には大きなミステリーがあります

Netflixの「水曜日」は、典型的な10代のドラマ以上のものであり、実際、シーズン1にはその中心に大きなミステリーがあります.

ボディーランゲージの専門家は、州訪問中にカミラ・パーカー・ボウルズが輝くことを可能にした微妙なケイト・ミドルトンの動きを指摘しています

ボディーランゲージの専門家は、州訪問中にカミラ・パーカー・ボウルズが輝くことを可能にした微妙なケイト・ミドルトンの動きを指摘しています

ケイト・ミドルトンは、州の夕食会と州の訪問中にカミラ・パーカー・ボウルズからスポットライトを奪いたくなかった、と専門家は言う.

一部のファンがハリー・スタイルズとオリビア・ワイルドの「非常に友好的な」休憩が永続的であることを望んでいる理由

一部のファンがハリー・スタイルズとオリビア・ワイルドの「非常に友好的な」休憩が永続的であることを望んでいる理由

一部のファンが、オリビア・ワイルドが彼女とハリー・スタイルズとの間の「難しい」が「非常に友好的」な分割を恒久的にすることを望んでいる理由を見つけてください.

エリザベス女王の死後、ケイト・ミドルトンはまだ「非常に困難な時期」を過ごしている、と王室の専門家が明らかにする 

エリザベス女王の死後、ケイト・ミドルトンはまだ「非常に困難な時期」を過ごしている、と王室の専門家が明らかにする&nbsp;

エリザベス女王の死後、ケイト・ミドルトンが舞台裏で「非常に困難な時期」を過ごしていたと伝えられている理由を調べてください.

セントヘレナのジェイコブのはしごを登るのは、気弱な人向けではありません

セントヘレナのジェイコブのはしごを登るのは、気弱な人向けではありません

セント ヘレナ島のジェイコブズ ラダーは 699 段の真っ直ぐ上る階段で、頂上に到達すると証明書が発行されるほどの難易度です。

The Secrets of Airline Travel Quiz

The Secrets of Airline Travel Quiz

Air travel is far more than getting from point A to point B safely. How much do you know about the million little details that go into flying on airplanes?

Where in the World Are You? Take our GeoGuesser Quiz

Where in the World Are You? Take our GeoGuesser Quiz

The world is a huge place, yet some GeoGuessr players know locations in mere seconds. Are you one of GeoGuessr's gifted elite? Take our quiz to find out!

バイオニック読書はあなたをより速く読むことができますか?

バイオニック読書はあなたをより速く読むことができますか?

BionicReadingアプリの人気が爆発的に高まっています。しかし、それは本当にあなたを速読術にすることができますか?

パンデミックは終わったかもしれないが、Covid-19 は終わっていない

パンデミックは終わったかもしれないが、Covid-19 は終わっていない

2021 年 6 月 8 日にニューヨーク市で開催された covid-19 パンデミックで亡くなった人々の命を偲び、祝うために、ネーミング ザ ロスト メモリアルズが主催するイベントと行進の最中に、グリーンウッド墓地の正門から記念碑がぶら下がっています。週末、ジョー・バイデン大統領は、covid-19 パンデミックの終息を宣言しました。これは、過去 2 年以上にわたり、公の場でそうするための長い列の中で最新のものです。

デビル・イン・オハイオの予告編は、エミリー・デシャネルもオハイオにいることを明らかにしています

デビル・イン・オハイオの予告編は、エミリー・デシャネルもオハイオにいることを明らかにしています

オハイオ州のエミリー・デシャネル みんな早く来て、ボーンズが帰ってきた!まあ、ショーボーンズではなく、彼女を演じた俳優. エミリー・デシャネルに最後に会ってからしばらく経ちました.Emily Deschanel は、長期にわたるプロシージャルな Bones の Temperance “Bones” Brennan としてよく知られています。

ドナルド・トランプはFBIのマー・ア・ラーゴ襲撃映像をリリースする予定ですか?

ドナルド・トランプはFBIのマー・ア・ラーゴ襲撃映像をリリースする予定ですか?

どうやら、ドナルド・トランプに近い人々は、今月初めにFBIによって家宅捜索された彼のMar-a-Lago財産からの映像を公開するよう彼に勧めています. 前大統領はテープを公開するかどうかを確認していませんが、息子はフォックス・ニュースにそうなるだろうと語った.

Andor は、他の Star Wars ショーから大きな距離を置きます。

Andor は、他の Star Wars ショーから大きな距離を置きます。

アンドールの一場面。数十年前、ジョージ・ルーカスがスター・ウォーズのテレビ番組を制作するのを妨げた主な理由は、お金でした。

ケイト・ミドルトンとウィリアム王子は、彼らが子供たちと行っているスパイをテーマにした活動を共有しています

ケイト・ミドルトンとウィリアム王子は、彼らが子供たちと行っているスパイをテーマにした活動を共有しています

ケイト・ミドルトンとウィリアム王子は、子供向けのパズルの本の序文を書き、ジョージ王子、シャーロット王女、ルイ王子と一緒にテキストを読むと述べた.

事故で押しつぶされたスイカは、動物を喜ばせ水分補給するために野生生物保護団体に寄付されました

事故で押しつぶされたスイカは、動物を喜ばせ水分補給するために野生生物保護団体に寄付されました

Yak's Produce は、数十個のつぶれたメロンを野生動物のリハビリ専門家であるレスリー グリーンと彼女のルイジアナ州の救助施設で暮らす 42 匹の動物に寄付しました。

デミ・ロヴァートは、新しいミュージシャンのボーイフレンドと「幸せで健康的な関係」にあります: ソース

デミ・ロヴァートは、新しいミュージシャンのボーイフレンドと「幸せで健康的な関係」にあります: ソース

8 枚目のスタジオ アルバムのリリースに向けて準備を進めているデミ ロヴァートは、「スーパー グレート ガイ」と付き合っている、と情報筋は PEOPLE に確認しています。

Plathville の Kim と Olivia Plath が数年ぶりに言葉を交わすことへようこそ

Plathville の Kim と Olivia Plath が数年ぶりに言葉を交わすことへようこそ

イーサン プラスの誕生日のお祝いは、TLC のウェルカム トゥ プラスビルのシーズン 4 のフィナーレで、戦争中の母親のキム プラスと妻のオリビア プラスを結びつけました。

仕事の生産性を高める 8 つのシンプルなホーム オフィスのセットアップのアイデア

仕事の生産性を高める 8 つのシンプルなホーム オフィスのセットアップのアイデア

ホームオフィスのセットアップ術を極めよう!AppExert の開発者は、家族全員が一緒にいる場合でも、在宅勤務の技術を習得しています。祖父や曽祖父が共同家族で暮らしていた頃の記憶がよみがえりました。

2022 年、私たちのデジタル ライフはどこで終わり、「リアル ライフ」はどこから始まるのでしょうか?

20 年前のタイムトラベラーでさえ、日常生活におけるデジタルおよびインターネットベースのサービスの重要性に驚くことでしょう。MySpace、eBay、Napster などのプラットフォームは、高速化に焦点を合わせた世界がどのようなものになるかを示してくれました。

ニューロマーケティングの秘密科学

ニューロマーケティングの秘密科学

マーケティング担当者が人間の欲望を操作するために使用する、最先端の (気味が悪いと言う人もいます) メソッドを探ります。カートをいっぱいにして 3 桁の領収書を持って店を出る前に、ほんの数点の商品を買いに行ったことはありませんか? あなたは一人じゃない。

地理情報システムの日: GIS 開発者として学ぶべき最高の技術スタック

地理情報システムの日: GIS 開発者として学ぶべき最高の技術スタック

私たちが住んでいる世界を確実に理解するには、データが必要です。ただし、空間参照がない場合、このデータは地理的コンテキストがないと役に立たなくなる可能性があります。

Language