# JAR-Datei eines (J)Applet funktioniert nicht - Help!



## vegeta123 (13. Jan 2010)

Hallo, ich habe ein riesengroßes Problem...

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...


----------



## SuperSeppel13 (13. Jan 2010)

Anscheinend kann dein Applet schlicht die Grafik nicht finden.
Ist das Bild denn im Jar-Archiv enhalten?


----------



## vegeta123 (13. Jan 2010)

Erstmal danke für die schnelle Reaktion!

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... :-/


----------



## L-ectron-X (13. Jan 2010)

So, dann liest du erst mal bischen FAQ: http://www.java-forum.org/applets/4482-verweigert-browser-anzeige-java-applets.html

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.


----------



## vegeta123 (14. Jan 2010)

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.


----------



## L-ectron-X (14. Jan 2010)

Der Fehler kann genauso gut in der HTML-Datei liegen. Wie du deine Jar-Datei startest hast du nicht geschrieben.

Wenn die Bilder nicht gefunden werden, sollte da zumindest eine Fehlermeldung ausgegeben werden.
Und die ist für die Lösung interessant.


----------



## Ebenius (14. Jan 2010)

vegeta123 hat gesagt.:


> 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).


Ausgabe posten!

Ebenius


----------



## vegeta123 (14. Jan 2010)

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.


----------



## Ebenius (14. Jan 2010)

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: 
	
	
	
	





```
[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.



Ebenius


----------



## vegeta123 (14. Jan 2010)

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


----------



## L-ectron-X (14. Jan 2010)

L-ectron-X hat gesagt.:


> So, dann liest du erst mal bischen FAQ: http://www.java-forum.org/applets/4482-verweigert-browser-anzeige-java-applets.html



Da steht alles drin, was du wissen musst.


----------



## Ebenius (14. Jan 2010)

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.

Ebenius


----------



## vegeta123 (14. Jan 2010)

L-ectron-X hat gesagt.:


> Da steht alles drin, was du wissen musst.



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?


----------



## L-ectron-X (14. Jan 2010)

Nicht könnte. Ist!
Java-Programme werden im Normalfall in Jar-Dateien gepackt, transportiert, ausgeliefert etc.


----------



## vegeta123 (14. Jan 2010)

L-ectron-X hat gesagt.:


> Nicht könnte. Ist!
> Java-Programme werden im Normalfall in Jar-Dateien gepackt, transportiert, ausgeliefert etc.



Klar, aber es könnte ja auch sein, dass beim Erstellen der jar-Datei irgendein Fehler passiert ist .


----------



## L-ectron-X (14. Jan 2010)

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.


----------



## vegeta123 (15. Jan 2010)

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


----------



## L-ectron-X (15. Jan 2010)

Jar-Dateien in Jar-Dateien funktionieren nicht.
Auch mal FAQ lesen: http://www.java-forum.org/spezialthemen/12017-jar-archiv-anderes-jar-archiv-packen.html

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.


----------



## vegeta123 (15. Jan 2010)

Ja, hab ja auch geschrieben, dass ich mich darum selber kümmere aber einem Tipp nicht abgeneigt wäre, den ich ja auch bekommen habe, danke


----------



## vegeta123 (18. Jan 2010)

So, danke noch mal an alle, es läuft jetzt alles so wie es soll


----------

