サポートされていない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

ケイト・ブランシェットは3日間一緒に夫と一緒に寝て、25年経ってもまだ夫と結婚しています

ケイト・ブランシェットは3日間一緒に夫と一緒に寝て、25年経ってもまだ夫と結婚しています

ケイト・ブランシェットは、夫に会ったとき、典型的な交際のアドバイスに逆らいました。

マイケルシーンが非営利の俳優である理由

マイケルシーンが非営利の俳優である理由

マイケルシーンは非営利の俳優ですが、それは正確にはどういう意味ですか?

ホールマークスターのコリンエッグレスフィールドがRomaDramaLiveでスリル満点のファンと出会う![エクスクルーシブ]

ホールマークスターのコリンエッグレスフィールドがRomaDramaLiveでスリル満点のファンと出会う![エクスクルーシブ]

特徴的なスターのコリン・エッグレスフィールドは、RomaDrama Liveでのスリル満点のファンとの出会いについて料理しました!加えて、大会での彼のINSPIREプログラム。

「たどりつけば」をオンラインでストリーミングできない理由

「たどりつけば」をオンラインでストリーミングできない理由

ノーザンエクスポージャーが90年代の最も人気のある番組の1つになった理由を確認するには、Blu-rayまたはDVDプレーヤーをほこりで払う必要があります。

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

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

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

ドミニカのボイリング湖:アクセスは簡単ではありませんが、ハイキングする価値があります

ドミニカのボイリング湖:アクセスは簡単ではありませんが、ハイキングする価値があります

ドミニカのボイリング湖は、世界で2番目に大きいボイリング湖です。そこにたどり着くまでのトレッキングは大変で長いですが、努力する価値は十分にあります。

私たちの水をきれいに保つのを助けるためにあなたの髪を寄付してください

私たちの水をきれいに保つのを助けるためにあなたの髪を寄付してください

サロンからのヘアトリミングや個人的な寄付は、油流出を吸収して環境を保護するのに役立つマットとして再利用できます。

ホワイトハウスの最も記憶に残る結婚式を見てください

ホワイトハウスの最も記憶に残る結婚式を見てください

過去200年以上の間にホワイトハウスで結婚したのはほんの数人です。彼らは誰でしたか、そしてそこで結婚式を獲得するために何が必要ですか?

この太陽に優しいショルダーバッグで一日中外出してください

この太陽に優しいショルダーバッグで一日中外出してください

画像クレジット:Richard Mackney / Flickrトラベリングライトは必需品だけを運ぶことを意味するかもしれませんが、デバイスを補充する方法がない外出先では、接続を維持するのが難しくなる可能性があります。それはあなたがすべての生き物の快適さやクールなガジェットを捨てる必要があるという意味ではありません、ただあなたがいくつかのより小さなものを手に入れる必要があるということです、そしておそらくあなた自身をジュースに保つためにいくつかの、例えば非正統的な充電装置を使うでしょう。

ミッドセンチュリーリゾートのポストカードが廃墟に変わるのを見る

ミッドセンチュリーリゾートのポストカードが廃墟に変わるのを見る

ニューヨーク州スプリンググレンにある放棄されたホモワックロッジのボーリング場。キャッツキル南部のこの地域は、ニューヨーク市からのユダヤ人の行楽客に人気があることから、かつてはボルシチベルトとして知られていました。

ブルックリンスレートの美しいボードをあなたのテーブルに座らせましょう

ブルックリンスレートの美しいボードをあなたのテーブルに座らせましょう

ブルックリンスレートブルックリンスレートのマグカップとコースターの賞賛をすでに歌っており、それらの食器製品も同様に堅実です。ブルックリンスレートは、さまざまなサイズとテクスチャのスレートの完全な採石場を販売しています。一部のオプションは赤でも利用できます。上で見ることができるように、彼らは同様にカスタマイズをします。

遺伝子分析により、私たちの体内に生息する微生物の99%がカタログ化されていないことが明らかになりました

遺伝子分析により、私たちの体内に生息する微生物の99%がカタログ化されていないことが明らかになりました

画像:Juan Gaertner / Shutterstock私たちの体の内部は、私たちの細胞とは何の関係もない何十億もの微生物が住んでいる本物の生態系です。これがまだ少し気になることではなかったかのように、これらの微生物の99%が研究されたことがないことがわかりました。

Zendaya Wishes Boyfriend Tom Holland Happy Birthday with Cuddly Photo: He 'Makes Me the Happiest'

Zendaya Wishes Boyfriend Tom Holland Happy Birthday with Cuddly Photo: He 'Makes Me the Happiest'

Zendaya shared a sweet photo in honor of boyfriend Tom Holland's 26th birthday Wednesday

小さな女性:脳卒中を患った後に病院から解放されたアトランタのジューシーな赤ちゃん:「まだ癒し」

小さな女性:脳卒中を患った後に病院から解放されたアトランタのジューシーな赤ちゃん:「まだ癒し」

シーレン「Ms.JuicyBaby」ピアソンは、先月脳卒中で入院した後、「もう一度たくさんのことをする方法を学ばなければならない」ため、言語療法を受けていることを明らかにしました。

エマストーンは彼女のクリフサイドマリブビーチハウスを420万ドルでリストアップしています—中を見てください!

エマストーンは彼女のクリフサイドマリブビーチハウスを420万ドルでリストアップしています—中を見てください!

オスカー受賞者の世紀半ばの家には、3つのベッドルーム、2つのバス、オーシャンフロントの景色があります。

ジーニー・メイ・ジェンキンスは、母乳育児の経験の中で、彼女は「本当に、本当に落ち込んでいる」と言います

ジーニー・メイ・ジェンキンスは、母乳育児の経験の中で、彼女は「本当に、本当に落ち込んでいる」と言います

ジーニー・メイ・ジェンキンスは、生後4か月の娘、モナコに母乳育児をしていると語った。

投資ノート:Bioscout AU$300万シード

投資ノート:Bioscout AU$300万シード

Bioscoutは、農家を運転席に置くという使命を負っています。Artesian(GrainInnovate)やUniseedと並んで、最新のシードラウンドでチームを支援できることをうれしく思います。問題真菌症による重大な作物の損失は、農民にとって試練であることが証明されています。

リトルマーケットリサーチ1| 2022年のクイックグリンプス遠隔医療市場

リトルマーケットリサーチ1| 2022年のクイックグリンプス遠隔医療市場

遠隔医療は、パンデミック後の時代では新しいものではなく、時代遅れの分野でもありません。しかし、業界を詳しく見ると、需要と供給の強力な持続可能性と、米国で絶え間ない革命となる強力な潜在的成長曲線を示しています。

スタートアップ資金調達環境:タイのスタートアップエコシステムの次は何ですか?

スタートアップ資金調達環境:タイのスタートアップエコシステムの次は何ですか?

2021年は、世界的なベンチャーキャピタル(VC)の資金調達にとって記録的な年でした。DealStreetAsiaによると、東南アジアも例外ではなく、この地域では年間で記録的な25の新しいユニコーンが採掘されました。

ムーアの法則を超えて

ムーアの法則を超えて

計算に対する私たちの欲求とムーアの法則が提供できるものとの間には、指数関数的に増大するギャップがあります。私たちの文明は計算に基づいています—建築と想像力の現在の限界を超える技術を見つけなければなりません。

Language