Java Applet失败

时间:2009-07-31 16:34:18

标签: java applet jvm-hotspot

我在我的一台服务器上运行Java Web applet。由于某种原因,特定用户无法访问它(出现错误文本代替applet,显示“错误。点击查看详细信息”;这不是我放置在标签之间的文本,即他的JRE已安装并显示在至少是正确安装但由于某种原因它不能在我的applet上工作。

我认为这与他特有的JRE风格有关 - 这就是所谓的“HotSpot”版本。 (见http://www.experts-exchange.com/Programming/Languages/Java/Q_24405442.html如果你有一个EE帐户,我不记得我的随便)。我不太熟悉Java本身或它的变化 - 我只是页面中applet的实现者(我没有写它)。

小程序适用于我,以及每个其他用户到目前为止。此外,它不应该在他的错误中引用下面列出的文件,例如“http://mywebsite.com/java/JavaVersionDisplayApplet/class.class”。该文件位于“http://mywebsite.com/java/JavaVersionDisplay.class”。根据applet程序员的说法,他的错误指向一个甚至在他的代码中都没有指定的文件。

用户的错误显示为:

Java Plug-in 1.6.0_13
Using JRE version 1.6.0_13 Java HotSpot(TM) Client VM
User home directory = C:Documents and Settingsjohn

load: class JavaVersionDisplayApplet.class not found.
java.lang.ClassNotFoundException: JavaVersionDisplayApplet.class
       at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
       at java.lang.ClassLoader.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)
Caused by: java.io.IOException: open HTTP connection failed:http://mywebsite.com/java/JavaVersionDisplayApplet/class.class
       at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
       at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
       at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
       at java.security.AccessController.doPrivileged(Native Method)
       ... 7 more
Exception: java.lang.ClassNotFoundException: JavaVersionDisplayApplet.class
load: class JavaVersionDisplayApplet.class not found.
java.lang.ClassNotFoundException: JavaVersionDisplayApplet.class
       at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
       at java.lang.ClassLoader.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)
Caused by: java.io.IOException: open HTTP connection failed:http://mywebsite.com/java/JavaVersionDisplayApplet/class.class
       at sun.plugin2.applet.Applet2ClassLoader.getBytes(Unknown Source)
       at sun.plugin2.applet.Applet2ClassLoader.access$000(Unknown Source)
       at sun.plugin2.applet.Applet2ClassLoader$1.run(Unknown Source)
       at java.security.AccessController.doPrivileged(Native Method)
       ... 7 more
Exception: java.lang.ClassNotFoundException: JavaVersionDisplayApplet.class

3 个答案:

答案 0 :(得分:0)

我首先将应用程序打包为jar文件而不是一组类文件。似乎JavaVersionDisplayApplet.class被解释为完全限定的类名...也就是说,JVM认为“JavaVersionDisplayApplet”是包名,“class”是类名。

您可以在HTML中发布您正在使用的APPLET标记的内容吗?

答案 1 :(得分:0)

您可能想要了解的几件事情:

  1. 他在使用Chrome吗? Chrome和Java似乎还没有很好地协同发挥。

  2. 他是否使用代理服务器? “连接失败”错误可能表示他正在使用允许浏览器通过的代理,而不是JRE。

答案 2 :(得分:0)

这是罪魁祸首:

Caused by: java.io.IOException: open HTTP connection failed:http://mywebsite.com/java/JavaVersionDisplayApplet/class.class

JVM已启动,但无法连接到托管applet的服务器。用户是否连接到mywebsite.com或其他名称?