2012-04-10 20 views
2

異なるJavaバージョン間の互換性に関する質問があります。Java JREのバージョンが不一致

私のコンピュータには、Javaバージョン「1.7.0_02」があります。 しかし、私は.classファイルをアップロードし、Webページでそれを埋め込まれたとき、それは私がエラーを取得する

を動作しません:

「サポートされていないメジャー。マイナーバージョン51.0」

の上部の見出しコンソールは言う: "Javaプラグイン1.6.0_31 JREバージョン1.6.0_31-B05は、Java HotSpot(TM)クライアントVMの使用"

を、私は、問題を引き起こしているものをお願いしたいと思います。それは本当に私のJavaバージョンですか? 私はアプレットをコンパイルしたコンピュータでサイトを訪問しました。

+1

大丈夫でしたか? –

+1

ブラウザのプラグインはJava 1.7に対応していません。お使いのコンピュータのJRE 1.6を探してください。 – madth3

+0

あなたはJava 7を使用してビルドしており、Java 6についてのみ知っているJREで実行しようとしています。 – jahroy

答えて

3

以前の仮想マシンでJava 1.7互換クラスファイルにコンパイルされたクラスを使用することはできず、その "Java Plug-in"エラーあなたはそれがまさに何が起こるのかを見ていると思います。

つのオプション:

  1. あなただけの特徴のJava 1.7を使用していない場合、あなたは1.6 -target 1.6 JVMのオプションを使用してと互換性があるようにあなたのコードをコンパイルすることができます(ドキュメントhereを参照)
  2. アップグレード可能であれば、ブラウザがJavaプラグインを1.7に使用しています(たとえば、OS Xでこれを行うことはできません)。あなたは使用しているOSとブラウザをメモしていないので、アップグレードパスがあればそれが何であるか分かりません。
+0

* "1.6と互換性があるようにあなたのコードをコンパイルできます*または1.1。最終的に、初心者が作成したアプレットに適した新しいクラス、メソッド、属性が長年にわたって導入されています。もちろん、 'for each'やGenericsのような言語構造もありますが、必要のない少量のソースを再コードするのは難しくありません。さて、インデックスにリンクがあるとは思わないが、リンクされたドキュメントの中で最も関連性の高い部分は、[クロスコンパイルオプション](http://docs.oracle.com/javase /7/docs/technotes/tools/windows/javac.html#crosscomp-options) –

+1

また、コードが実行され、target、** source&bootclasspath **オプションでコンパイルされた最小バージョンを決定したら、 [info]セクションの/リンクに記載されている 'deployJava.js'を使用してください。アプレットを起動するのに必要な最低限のバージョンをエンドユーザーに確保し、アップグレードしない場合はアップグレードしてから、アプレットを埋め込むようにします(http://stackoverflow.com/tags/applet/info)。 –

+1

@AndrewThompsonリンクを更新しました。ありがとうございます。 deployJava.jsについてのヒントもあります。 – sharakan

1

回答をいただきありがとうございます。何が間違っているかを把握しました。

私はマシンで1.7と1.6の両方から始めました。本当に混乱していました。 問題は、1.7は64ビット、1.6は32ビットでした。

私のブラウザはクロム32ビットです。

私はちょうど1.7 32ビットをインストールし、それは多分あなたのJDKのバージョンがJREバージョンとして同じではありません

+2

私の答えがあなたの問題を解決する助けとなったら、あなたがそれを受け入れるといいでしょう! – sharakan

+0

ええ、私は感謝しました! –

関連する問題