2012-03-03 82 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链接启动它。
相关问题