2012-01-19 7 views
5

私はあまり単純なアプリを書いておらず、アプレットを作ることに決めました。私は.jarアーカイブとmainクラスを持っています。chat.java(init()とJAppletを継承しています)です。私は、HTMLファイルでこのコードがあります。Java - java.lang.UnsupportedClassVersionError in applet

<applet code="chat.class" archive="chat.jar" width="150" height="150"> 
Error! 
</applet> 

をそして、それはJavaコンソールにエラー

java.lang.UnsupportedClassVersionError: chat : Unsupported major.minor version 51.0 
    at java.lang.ClassLoader.defineClass1(Native Method) 
    at java.lang.ClassLoader.defineClassCond(Unknown Source) 
    at java.lang.ClassLoader.defineClass(Unknown Source) 
    at java.security.SecureClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.defineClass(Unknown Source) 
    at java.net.URLClassLoader.defineClass(Unknown Source) 
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
    at java.lang.reflect.Method.invoke(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.defineClassHelper(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.access$100(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader$2.run(Unknown Source) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at sun.plugin2.applet.Plugin2ClassLoader.findClassHelper(Unknown Source) 
    at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass0(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadClass(Unknown Source) 
    at java.lang.ClassLoader.loadClass(Unknown Source) 
    at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source) 
    at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
    at java.lang.Thread.run(Unknown Source) 
Exception: java.lang.UnsupportedClassVersionError: chat : Unsupported major.minor version 51.0 

を与えます。私は何をすべきか分からず、私のアプレットはチャットできるような新しいフレーム(ポップアップ)を開くべきです。 返信ありがとうございました!

+0

JavaのバージョンがJARをコンパイルした場所と同じであることを確認できますか? – mezzie

+0

* "私のアプレットは、チャットなどができる新しいフレーム(ポップアップ)を開くべきです" *アプレットを完全に取り除き、[Java Web Start](http://stackoverflow.com/)を使ってリンクからフレームを起動します。タグ/アプレット/情報)。アプレットを配備する方が簡単であり、ユーザーにとってより良いエクスペリエンスです。 –

答えて

11

互換性のないバージョンのクラスファイルとjavaプラグインがあります。たとえば、java7でコードをコンパイルし、java5またはjava6で実行しようとするとします。

サポートされていないメジャー。マイナーバージョン51.0あなたはJDK7でコードをコンパイルしていることを意味し、お使いのブラウザプラグインは、私が6歳以上のJREし、それを理解していません。このような状況では

あなたはのいずれかの実行する必要があります。

  • 更新あなたのJavaプラグインを(またはあなたがより多くを持っている場合は、適切なバージョンに切り替える)、または
  • は「を使用して、古いJava用アプレットをコンパイル - ターゲット 'オプション。

javaバージョンを確認するには、plugin testページにアクセスしてください。

+0

私は両方の最新バージョンを持っています。私は何をすべきかわかりません...私はEclipseを使用して、どのようにターゲットバージョンを変更するには? –

+2

@kittyPL:プロジェクトプロパティ - > "Javaコンパイラ" - > "コンパイラ準拠レベル"で変更できます。 –

+0

は1.5とうまくいった!ありがとう!もし私ができるなら、私は投票するだろう:D –

1

この例外は、特定のJDKでクラスをコンパイルした後、古いバージョンのJDKで実行しようとしていることを意味します。したがって、JDK 6.0でコンパイルされたクラスは、JDK 5.0では実行できません。ブラウザのJREバージョンを確認してください。また、クラスをコンパイルするときにターゲットJDKを指定することもできます。

関連する問題