2012-03-03 65 views
0

我正在開發一個Java applet,當您訪問該站點時會顯示一個消息框。 這是我的Java代碼:Java Applet只能在我的電腦上工作嗎?

import java.applet.Applet; 
import javax.swing.JOptionPane; 
public class JavaRun extends Applet { 
    private static final long serialVersionUID = 1L; 
    public void init() 
    { 
     JOptionPane.showMessageDialog(null, "hello world!");  
    } 
} 

這是HTML:

<applet width='100' height='100' code='JavaRun' archive='data.jar'> 
</applet> 

在我的電腦(即對Java SDK),它的工作,但是當我使用它在我的筆記本電腦,只有標準的Java,我得到這些錯誤:

 
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: Micro : Unsupported major.minor version 51.0... 
enter code here 
+0

不要在本世紀使用Swing和AWT組件的混合體,也不要使用AWT組件。將'Applet'擴展爲'extends JApplet'。 – 2012-03-03 13:39:01

回答

3

UnsupportedClassVersionError: Micro : Unsupported major.minor version 51.0

這就是問題所在。您已經編譯了一個類別版本的小程序,該類別版本不受在其他系統上運行的JVM支持。

javac使用-target標誌來生成給定目標JVM版本的類文件。

5

我相信你的電腦上有不同版本的Java環境。 兩臺計算機

java -version 

上運行這個命令並比較版本號。可能應該在您的開發機器上運行

javac -version 

。 如果您獲得不同的版本號,請在筆記本電腦上更新Java運行時環境。

+0

謝謝!在我的開發機器1.7和我的筆記本電腦中是1.6現在如何改變我的開發機器? – Ron 2012-03-03 13:21:40

+0

檢查Mat關於-target標誌的回答。總之,您必須在您的項目設置中指定目標JVM版本。像這樣: 'javac -target 1.6 -source 1.6 MyApplet.java' – Martin 2012-03-03 13:27:33

+0

如果你使用Eclipse檢查這個SO問題:[你在哪裏配置Eclipse Java編譯器(javac)標誌?](http://stackoverflow.com/questions/9483315 /其中-DO-你 - 配置 - Eclipse的Java的編譯器javac的-標誌) – Martin 2012-03-03 13:34:59

3
UnsupportedClassVersionError 
  • 要編譯代碼爲特定的Java版本,使用cross-compilation options。正確執行此操作需要目標版本的rt.jar(使用javacbootclasspath選項)。
  • 要部署需要特定版本的代碼,使用deployJava.js
  • 要保持理智提供更好的用戶體驗,小程序轉換爲應用程序和使用Java Web Start鏈接啓動它。
相關問題