Создание Java-апплета с использованием внешних JARS - PullRequest
5 голосов
/ 29 ноября 2011

Я создал Java-апплет в Netbeans, который использует несколько внешних библиотек.Когда я запускаю файл applet.java в Netbeans, он работает нормально, и я пытаюсь получить тот же результат на веб-странице.

Когда я запускаю автоматически созданный файл applet.html в папке сборки, он не загружает внешнюю библиотеку, хотя я указал их в архивном теге APPLET и переместил в ту же папку.

Вот мой html-файл:

<HTML>
<HEAD>
   <TITLE>Applet HTML Page</TITLE>
</HEAD>
<BODY>

<H3><HR WIDTH="100%">Applet HTML Page<HR WIDTH="100%"></H3>

<P>
<APPLET codebase="classes" code="applet/MyApplet.class" width=350 height=200 archive="jcommon-1.0.17.jar,  jfreechart-1.0.14.jar, sqljdbc4.jar"></APPLET>
</P>

<HR WIDTH="100%"><FONT SIZE=-1><I>Generated by NetBeans IDE</I></FONT>
</BODY>
</HTML>

Библиотеки сторонних java (jfreeChart и SQL-JDBC-драйвер)

Ответы [ 2 ]

9 голосов
/ 29 ноября 2011

Создание Java-апплета с использованием внешних JARS

Добавьте ссылку на них в атрибут archive элемента applet.


<APPLET codebase="classes" code="applet/MyApplet.class" width=350 height=200 archive="jcommon-1.0.17.jar,  jfreechart-1.0.14.jar, sqljdbc4.jar"></APPLET>

Переформатирование, которое дает:

<APPLET 
    codebase="classes" 
    code="applet/MyApplet.class" 
    width=350 
    height=200 
    archive="jcommon-1.0.17.jar,  jfreechart-1.0.14.jar, sqljdbc4.jar">
</APPLET>

1.

    code="applet/MyApplet.class" 

Должно быть полное имя класса.Если имя класса MyApplet, а пакет applet, это означает:

    code="applet.MyApplet" 

2.

    archive="jcommon-1.0.17.jar,  jfreechart-1.0.14.jar, sqljdbc4.jar">

Просто проверка, это applet.MyApplet в jcommon-1.0.17.jar?

3.

    codebase="classes" 

Звучит зловеще.Это полноценное веб-приложение с JSP / сервлетами?Если это так, я подозреваю, что путь неверен, поскольку он указывает на место на сервере, которое клиентский (браузер или) апплет не может достичь.Попробуйте выполнить прямую выборку (вставьте ожидаемый адрес в адресную строку браузера и нажмите «enter») на каждом из Jar апплета, если MyApplet.class отсутствует в Jar, выполните отдельную проверку файла свободного класса.

0 голосов
/ 07 мая 2012
package example.jni;

public class HelloWorld {
    private static native void writeHelloWorldToStdout();

    public static void main(String[] args) {
        System.loadLibrary("HelloWorld");
        writeHelloWorldToStdout();
    }
}
...