Java-апплет с init () в пакете? - PullRequest
5 голосов
/ 08 марта 2009

Мне интересно, можете ли вы поместить основной класс (или класс с методом init, как угодно) в пакет и по-прежнему запускать его в браузере? Большую часть времени я помещаю свои апплеты в (пакет по умолчанию), но мой апплет находится в пакете, так что я могу все еще встраивать его в веб-страницу?

Я погуглил с небольшими результатами. Скажем, у меня есть MyApplet.class в каталоге с именем app в файле jar с именем MyApp.jar.

Я пробовал это безуспешно:

<applet archive="MyApp.jar" code="MyApplet.class">
<applet archive="MyApp.jar" code="app/MyApplet.class">
<applet archive="MyApp.jar" code="/app/MyApplet.class">
<applet archive="MyApp.jar/app/" code="MyApplet.class">
<applet archive="MyApp.jar" codebase="app/" code="MyApplet.class">

Каждый из них дает мне ClassNotFoundException.

Заранее спасибо.

Ответы [ 3 ]

3 голосов
/ 08 марта 2009

Атрибут архива должен содержать имя файла фляги, и он должен быть помещен в тот же каталог, что и веб-страница.

Файл класса в атрибуте кода должен содержать полное имя класса, разделенное косой чертой, чтобы указать структуру каталога.

Следовательно, в вашем списке попыток пробная версия 2 должна быть успешной, при условии, что MyApp.jar действительно присутствует вдоль страницы html. Кроме того, MyApp.jar должен содержать каталог «app» в корне, который должен содержать файл класса MyApplet. Не забудьте иметь сам класс MyApplet в пакете приложения.

Вы можете взглянуть на эту страницу для справки.

3 голосов
/ 08 марта 2009

Ну, вы перечислите пакет в пунктирной форме и не ставите «.class» в конце.

<applet code="packagefolder1.packagefolder2.MyApplet" archive="folder1/folder2/MyApp.jar">

</applet>
1 голос
/ 08 марта 2009

Я не уверен, но ты пробовал вот так?:

<applet archive="MyApp.jar" code="MyApplet">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...