Экспорт Java-апплета со ссылочными библиотеками - PullRequest
2 голосов
/ 15 августа 2011

Я кодировал апплет, требующий 1 библиотечный файл jar (prowser-0.2.0). Я протестировал его на eclipse (3.6), и он работает, но когда я помещаю его на свой HTML-сайт, я получаю следующую ошибку. Я добавил библиотеку pbrowser из свойств проекта => Путь сборки Java => Библиотеки => Добавить внешний Jar. Этот код работает в runnable jar и как апплет в Eclipse.

Ошибка из консоли Java:

Поток "Исключение в потоке" applet-myapplet.class-4 "java.lang.NoClassDefFoundError: Не удалось инициализировать класс com.zenkey.net.prowser.Prowser в myapplet.init (myapplet.java:8) at sun.plugin2.applet.Plugin2Manager $ AppletExecutionRunnable.run (неизвестный источник) at java.lang.Thread.run (Неизвестный источник) "

Код апплета:

import java.applet.Applet;
import com.zenkey.net.prowser.*;
public class myapplet extends Applet {

public void init() {

    Prowser prowser = new Prowser();
    Tab tab = prowser.createTab();
    System.out.println(tab.go("http://www.google.com").getPageSource());    

   }
}

HTML-код:

<html>
<head>
<title> hello world </title>
</head>

<body>
This is the applet:<P>
<applet code="myapplet.class" archive="hello.jar,prowser-0.2.0.jar" width="150" height="50">
</applet>
</body>
</html>

Действительно, спасибо за помощь!

1 Ответ

3 голосов
/ 15 августа 2011

hello.jar и prowser-0.2.0.jar находятся в одном каталоге с файлом HTML на вашем веб-сервере, который обслуживает HTML? Апплет, кажется, находит hello.jar, как показывает ваше сообщение об ошибке. Файл prowser-0.2.0.jar необходимо добавить в тот же каталог, что и отдельный файл, , а не , упакованный в самом hello.jar (как в Eclipse, если вы выбираете «экспортировать как исполняемый файл jar»). «).

Тогда я бы также проверил файл манифеста hello.jar, чтобы увидеть, содержит ли он необычные Class-Path записи для файла Jar prowser. Он не должен содержать никакой относительной или абсолютной информации о пути, только само имя файла.

...