Запуск Java-апплета непосредственно из файла JAR - PullRequest
4 голосов
/ 09 апреля 2010

Цель - запустить апплет из файла JAR.

Проблема в том, что апплет, кажется, хочет запускаться только из разобранного jar-файла.

Образцы в Интернете предлагают этот тег апплета:

  <applet code="com.blabla.MainApplet"
          archive="applet.jar"
          width="600" height="600">

Это даже не попытается просмотреть файл jar и завершится ошибкой:

Caused by: java.io.IOException: open HTTP connection failed:http://localhost:8080/helloWord/com/blabbla/MainApplet.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

Установка базы данных вместо атрибута архива в файл jar. Выглядит немного лучше Однако JVM не осознает, что ему нужно открыть файл jar:

  <applet code="com.blabla.MainApplet"
          codebase="applet.jar"
          width="600" height="600">


Caused by: java.io.IOException: open HTTP connection failed:http://localhost:8080/helloWord/applet.jar/com/blabbla/MainApplet.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

Как должен быть сформулирован тег апплета для запуска класса апплета из внутри файла jar?

1 Ответ

2 голосов
/ 09 апреля 2010

Проблема заключалась в том, что консоль Java кэшировала предыдущие плохие файлы jar. После очистки кеша в консоли Java первая версия кода работала нормально.

<applet code="com.blabla.MainApplet"
          archive="applet.jar"
          width="600" height="600">
...