Ошибка Java-апплета - PullRequest
0 голосов
/ 31 июля 2009

Я запускаю веб-апплет Java на одном из моих серверов. По какой-то причине конкретный пользователь не может получить к нему доступ (вместо апплета появляется текст ошибки, который гласит «Ошибка. Нажмите для подробностей»; это не текст, который я поместил между тегами, т. Е. Его JRE установлен и отображается в по крайней мере, быть правильно установлен, но по какой-то причине он не работает на моем апплете.

Я думаю, что это как-то связано с его "вкусом" JRE - так называемой версией "HotSpot". (см. это: http://www.experts -exchange.com / Программирование / Языки / Java / Q_24405442.html если у вас есть учетная запись EE, я не могу вспомнить мою от руки). Я не слишком знаком с самой Java или ее разновидностями - я всего лишь разработчик апплета на странице (я ее не писал).

Апплет отлично работает для меня и каждого другого пользователя на сегодняшний день. Кроме того, он не должен ссылаться на файл, указанный ниже в его ошибке, такой как "http://mywebsite.com/java/JavaVersionDisplayApplet/class.class". Файл расположен в" http://mywebsite.com/java/JavaVersionDisplay.class".. По словам программиста апплета, его ошибка указывает на файл, который даже не указан нигде в его коде.

Ошибка пользователя гласит:

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 голосов
/ 31 июля 2009

Несколько вещей, на которые вы, возможно, захотите взглянуть:

  1. Он использует Chrome? Похоже, что Chrome и Java еще не очень хорошо играют вместе.

  2. Использует ли он прокси-сервер? Ошибка «сбой подключения» может указывать на то, что он использует прокси, который пропускает браузер, но не JRE.

0 голосов
/ 31 июля 2009

Это виновник:

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

JVM запущена, но не может подключиться к серверу, на котором размещен апплет. Подключается ли пользователь к mywebsite.com или другому имени?

0 голосов
/ 31 июля 2009

Я бы начал с упаковки приложения в виде jar-файла, а не набора классов. Похоже, JavaVersionDisplayApplet.class интерпретируется как полностью определенное имя класса ... то есть JVM считает, что "JavaVersionDisplayApplet" - это имя пакета, а "class" - это имя класса.

Можете ли вы опубликовать содержимое тега APPLET, который вы используете в HTML?

...