JAR Archive mit mehreren Klassen und anderen JAR Files erstellen

Status
Nicht offen für weitere Antworten.

nilstk

Mitglied
Hallo zusammen,

ich habe da mal eine Frage:

Wir haben jetzt ein Javaprojekt bestehend aus mehrere Packages gemäß den entsprechenden Aufgaben angelegt. In einem Package, dass für die GUI zuständig ist, haben wir die gui.java, die ich über Rechte Maustaste/RUN in Netbeans auch im Applet Viewer ansehen kann. Da wir einen Applet haben, haben wir in dem Sinne keine main-Funktion.

Problem: Wie kriegen wir die ganzen Dateien, die zudem auch noch externe Bilbiotheken nutzen (*.jar wie jFreechart und jCalendar) in einer handlichen Jar-Datei zusammen, damit wir diese als Applet auf einen Webserver laden können?

Kann man das mit Netbeans vielleicht irgendwie automatisch erstellen lassen?
 

nilstk

Mitglied
mhh.... ok

habe leider viele Probleme damit ...

der Aufbau meines Javaprojekts ist in Netbeans

blueboxapplet.common (Package, samt vielen *.java)
blueboxapplet.domain (Package, samt vielen *.java)
blueboxapplet.gui (Package)
==> NewClass.java
==> oberflaeche.java

In Netbeans lässt sich das Applet einfach durch rechte Maustaste / Run auf Newclass.java starten ... im Browser schlägt das Ganze aber völiig fehl und ich bin immer am Überlegen, ob ich das JAR File entpacken muss, wenn ich die folgende Meldung lese ...

Caused by: java.io.IOException: open HTTP connection failed:http://127.0.0.1/T/blueboxapplet/gui/NewClass/class.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
Ausnahme: java.lang.ClassNotFoundException: blueboxapplet.gui.NewClass.class

Meine zugehörige HTML Datei dazu, sieht so aus

HTML:
<applet code="blueboxapplet.gui.NewClass.class" archives="BlueboxApplet.jar" width="900" height="900">
</applet>

Zusätzlich zu unserer eigenen Anwendung sind die JAR Dateien der verwendeten Bibliotheken im selben Verzeichnis wie die BlueboxApplet.jar untergebracht.
jcalendar-1.3.2.jar
jcommon-1.0.14.jar
jfreechart-1.0.11.jar
looks-2.0.1.jar
swing-layout-1.0.jar


Was mache ich falsch? Ich vermute mal, dass etwas mit meiner HTML Datei nicht stimmt, die das Applet aufruft.... ? stört vielleicht der punkt zwischen blueboxApplet und gui ?? ...
 

L-ectron-X

Gesperrter Benutzer
Du musst die fremden Jar-Dateien ebenfalls im archive-Attribut durch Komma getrennt mit auflisten.

Wenn es dann immer noch nicht geht: Wier lautet die Fehlermeldung in der Java-Konsole?
 

nilstk

Mitglied
Stimmt, das fehlte auch noch. Aber daran liegt es leider nicht.
Die Klasse NewClass.java ist im Package blueboxapplet.gui der BlueboxApplet.jar
Was könnte am Pfad falsch sein ?

Laden: Klasse blueboxapplet.gui.NewClass.class nicht gefunden
java.lang.ClassNotFoundException: blueboxapplet.gui.NewClass.class
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: open HTTP connection failed:http://localhost/T/blueboxapplet/gui/NewClass/class.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
Ausnahme: java.lang.ClassNotFoundException: blueboxapplet.gui.NewClass.class
Laden: Klasse blueboxapplet.gui.NewClass.class nicht gefunden
java.lang.ClassNotFoundException: blueboxapplet.gui.NewClass.class
at sun.plugin2.applet.Applet2ClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.plugin2.applet.Plugin2ClassLoader.loadCode(Unknown Source)
at sun.plugin2.applet.Plugin2Manager.createApplet(Unknown Source)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.io.IOException: open HTTP connection failed:http://localhost/T/blueboxapplet/gui/NewClass/class.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
Ausnahme: java.lang.ClassNotFoundException: blueboxapplet.gui.NewClass.class

jetzige HTML Datei
<applet code="blueboxapplet.gui.NewClass.class" archives="BlueboxApplet.jar,jcalendar-1.3.2.jar,jcommon-1.0.14.jar,jfreechart-1.0.11.jar,looks-2.0.1.jar,swing-layout-1.0.jar" width="900" height="900"></applet>
 

nilstk

Mitglied
Okay, habs
HTML:
<applet code="blueboxapplet.gui/NewClass.class"  archive="BlueboxApplet.jar,jcalendar-1.3.2.jar,jcommon-1.0.14.jar,jfreechart-1.0.11.jar,looks-2.0.1.jar,swing-layout-1.0.jar" width="900" height="900"></applet>

... falls jemand mal vor demselben Problem steht.

VG Nils
 
Zuletzt bearbeitet von einem Moderator:

L-ectron-X

Gesperrter Benutzer
Diese Lösung solltest du auf jeden Fall in allen Browsern testen. Könnte sein, dass ein Browser mit deinem code-Attribut nicht klar kommt.
 
Status
Nicht offen für weitere Antworten.

Ähnliche Java Themen

Neue Themen


Oben