Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden. Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
JAR-Datei eines (J)Applet funktioniert nicht - Help!
Habe ein Applet geschrieben und möchte nun davon eine jar-Datei erstellen.
Soweit funktioniert das mit Eclipse auch gut, allerdings gibt es ein Problem in der init()-Methode, wenn ich die jar-Datei über die cmd ausführe...
In der Initmethode lade ich mittels getCodeBase() ein Bild, was auch über die Ausführung in Eclipse wunderbar funktioniert. Dieses Bild liegt in einem Unterordner names "Bilder". Mit der Ausführung der jar-Datei wird mir an dieser Stelle ein Fehler angezeigt (irgendetwas mit unknown source, oder ne NullPointerException).
Hab schon viel gegoogelt aber nichts entsprechendes gefunden...
Ich komme einfach nicht weiter und hoffe hier Hilfe zu bekommen...
Das Bild ist definitiv im Jar-Archiv enthalten. Hab mir das schon angeschaut... Also ich öffne zum Beispiel das Jar-Archiv mit WinRAR und sehe dann alle Dateien inklusive Unterordner "Bilder", in dem die Bilddateien, auch das geforderte Bild, liegen. In Eclipse funktioniert das wie gesagt... :-/
Zeigst uns dann (wenn du es nach der Lektüre immer noch nicht lösen kannst) deinen HTML-Code und nennst uns den Namen des Packages, in welchem das Applet deklariert ist.
Ich habe nichts von einer HTML-Seite geschrieben, sondern habe das Problem, dass die jar-Datei nicht richtig über die Konsole ausgeführt wird, weil nämlich die Bilder, die sich in dieser in einem Unterordner befinden, nicht gefunden werden. Somit brauche ich das ganze auch gar nicht erst in eine HTML-Seite einbinden.
Dieses Bild liegt in einem Unterordner names "Bilder". Mit der Ausführung der jar-Datei wird mir an dieser Stelle ein Fehler angezeigt (irgendetwas mit unknown source, oder ne NullPointerException).
Ausführen tu ich das auf der Konsole mit java -jar xyz.jar. Der Ordner, wo die jar-Datei liegt, ist richtig.
Die Fehlermeldung ist im Anhang. Wie gesagt, über Eclipse läuft das Applet so wie es soll.
Hm, und wieso postest du nicht die komplette Fehlerausgabe, sondern nur die ersten beiden Zeilen? Wenn Du die Ausgabe im Forum brauchst, Mach doch einfach [c]java -jar xyz.jar > C:\ausgabe.log[/c], mach die Datei nachher im Notepad auf und kopier den gesamten Inhalt ins Forum:
Code:
[noparse][code]
Hier den Dateiinhalt hineinkopieren
[/noparse][/code]
Der Fehler ist aber nun schon klar: Du startest kein Applet, sondern eine Anwendung. Applets kann man nicht mit [c]java -jar[/c] starten. Außerhalb von Applets funktionieren die in Applet befindlichen Methoden nicht; zum Beispiel Applet.getCodeBase(). Kein Applet, keine CodeBase. Die API-Doc der Applet-Klasse sagt:
Sun hat gesagt.:
An applet is a small program that is intended not to be run on its own, but rather to be embedded inside another application.
The Applet class must be the superclass of any applet that is to be embedded in a Web page or viewed by the Java Applet Viewer. The Applet class provides a standard interface between applets and their environment.
Danke, das ist schon mal eine gute Erkenntnis!
Aber wie schaffe ich es denn dann, mein geschriebenes Java-Applet in einer html-Seite anzuzeigen/"einzubetten" ohne jar-Datei? Hab ehrlich gesagt keine so große Ahnung davon
Hinweis: JAR-Datei ist ja okay. Wenn man sie aber per [c]java -jar[/c] dann wird aber nunmal kein Applet gestartet, sondern eine Anwendung. Ein Applet ist eine in eine andere Anwendung (Browser, Appletviewer) eingebettete Komponente. Es ist niemals selbständig. Mit [c]java -jar[/c] startet man aber selbständige Anwendungen (aus selbständigen/self contained JARs).
LeX hat schon recht; lies Dich lieber mal ein bisschen in das Thema ein. Das hilft Dir viel mehr, als Dich durchzufragen.
Glatt nicht mehr dran gedacht.
Generell danke für die Hilfe, ich schau mir das mal genauer an und wenn ich nicht weiterkommen sollte frag ich nochmal nach.
Also meinst du dass die jar-Datei generell schon richtig sein könnte?
Wäre durchaus möglich, dass man beim Erstellen der Jar-Datei einen Fehler gemacht hat und dann die Anwendung nicht startet. Wenn dein Programm aber als ungepackte Version läuft und später in einer Jar-Datei nicht mehr, ist die Jar-Datei zu untersuchen. (Fehlende oder falsche Parameter, fehlende oder falsche Verzeichnisse, Handhabung etc.)
Man kann aber idR davon ausgehen, das heutige IDEs die Erstellung von Jar-Dateien beherrschen.
Es besteht also kein Grund, von der üblichen Handlungsweise abzuweichen.
So, mit den Tipps hat alles soweit geklappt. Das einzige Problem, was noch besteht, ist, dass eine jar-Datei innerhalb der erzeugten jar-Datei beim Laden im Browser nicht gefunden werden kann. Denke, dass funktioniert aber auch noch; wenn natürlich da jemand noch einen Tipp hätte, darf er ihn natürlich gerne kundgeben
Alternativ dazu legst du alle Jar-Dateien in ein Verzeichnis und führst sie im Class-Path der Main-Jar, innerhalb der Manifest-Datei auf. Dazu lassen sich auch Beiträge im Forum mit der Forumsuche finden.