2012-01-19 96 views
5

我寫的不是那麼簡單的應用程序,而是決定製作小程序。我有.jar存檔,主類有chat.java(它包含init()並擴展了JApplet)。我有此代碼的HTML文件:Java - Applet中的java.lang.UnsupportedClassVersionError

<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 

。我不知道該怎麼做,我的小程序應該打開一個新的框架(彈出),你可以聊天等等。 Thanx任何答覆!

+0

你可以驗證你的Java版本是在你編譯jar的地方嗎? – mezzie

+0

*「我的小應用程序應該打開一個新的框架(彈出),您可以聊天等等」*完全擺脫小程序並使用[Java Web Start]從鏈接啓動框架(http://stackoverflow.com/標籤/小程序/信息)。部署小應用程序更容易,併爲用戶提供更好的體驗。 –

回答

11

您的類文件和java插件的版本不兼容。例如,你在java7中編譯你的代碼並嘗試在java5或java6上運行。

不受支持的版本MAJOR.MINOR 51.0 意味着你已經在編譯代碼JDK7,你的瀏覽器插件,我JRE 6或以上,不理解它。

在這種情況下,你需要做的一個:

  • 更新Java插件(或切換到適當的版本,如果你有更多的),或
  • 編譯小程序使用「舊Java - 目標'選項。

要檢查您的java版本,請轉到plugin test頁面。

+0

我有兩個最新版本。我不知道該怎麼辦...我使用Eclipse,如何更改目標版本? –

+2

@kittyPL:您可以更改項目屬性 - >「Java編譯器」 - >「編譯器合規性級別」。 –

+0

很適合1.5!感謝名單!如果我可以的話,我會投票決定:D –

1

這個異常意味着你編譯你的類在一個特定的JDK下,但是然後嘗試在較舊版本的JDK下運行它們。因此,您不能在JDK 5.0下運行使用JDK 6.0編譯的類。檢查您的瀏覽器JRE版本。您也可以在編譯類時指定目標JDK。