Как загрузить два JAR-апплета в графическую программу без апплета? - PullRequest
1 голос
/ 27 ноября 2010

Я пытаюсь найти способ правильно загрузить обе банки (TestApplet.jar и Shared.jar) в графический интерфейс Swing.Мне уже удалось загрузить TestApplet.jar, но он выдает исключение NoClassDefFoundError, потому что я тоже не узнал, как загрузить Shared.jar.

Это HTML-код на странице:

<applet id="testapplet" class="topspacer" codebase="http://codebase.url.com/applets/" code="TestApplet" archive="TestApplet.jar,/Shared/Shared.jar" width="645" height="465">
<param name="initmessage" value="Initializing..." />
<!-- ... Other parameters ... -->

Вот как я запускаю TestApplet:

ClassLoader clientClassLoader = new URLClassLoader(new URL[]{new URL("http://codebase.url.com/applets/TestApplet.jar")});
Applet loader = (Applet) clientClassLoader.loadClass("TestApplet").asSubclass(Applet.class).newInstance();
loader.init();
loader.start();

Так в принципе, как мне правильно загрузить Shared.jar для использования TestApplet?Просто спросите, нужны ли вам дополнительные подробности или пояснения.

РЕДАКТИРОВАТЬ: И ошибка заключается в следующем: Exception in thread "main" java.lang.NoClassDefFoundError: com/shared/singleclient/SingleGame

1 Ответ

2 голосов
/ 27 ноября 2010

Вы пытались добавить Shared.jar к набору URL в вашем URLClassLoader? Как то так:

ClassLoader clientClassLoader = new URLClassLoader(new URL[]{
    new URL("http://codebase.url.com/applets/TestApplet.jar"),
    new URL("http://codebase.url.com/applets/Shared.jar")
});

В качестве альтернативы, вы можете убедиться, что Shared.jar может быть найден родительским ClassLoader, хотя включение его в URLClassLoader будет более близко приближаться к нормальной среде для апплетов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...