# Eclipse: Probleme mit Erstellen eines jar file



## aha_01 (7. Feb 2012)

Hi,
ich habe eine java Applikation (swing) entwickelt. Ich habe mit eclipse eine jar file für diese Applikation erstellt:


> Rechtemaustaste auf dem Projekt => Export => jar file => Next => Next => Pfad für Main class Eingabe => Finish.


Das Problem ist wie folgt: Wenn ich die Applikation innerhalb eclipse ausführe läuft Alles wie gewünscht, aber wenn ich die erstellte jar file ausführe wird nichts angezeigt. Ich habe im Task manager gesehen dass die Applikation startet und schnell danach verschwindet wenn ich die  jar file ausführe ???:L

Hat jmd ne Idee woran es liegen könnte :noe:

Grüße
Aha


----------



## pl4gu33 (7. Feb 2012)

aus was genau besteht denn deine SWING Anwendung? Benutzt du irgendwelche Grafiken oder ähnliches ?


----------



## aha_01 (7. Feb 2012)

Das ist eine GUI, die drei icons benutzt: eine icon für den SysTray und zwei werden drin in der GUI benötigt. Alle drei habe ich in einer jar file und diese im classpath eingebunden.


----------



## pl4gu33 (7. Feb 2012)

mm ich würde sagen, es liegt an der Anzeige dieser Icons. Da diese nicht richtig angezeigt werden bzw. nur in Eclipse. (Hatte mal sowas ähnliches mit Icons auf Buttons , da diese nicht richtig angezeigt wurden, waren die Buttons einfach gar nicht da bzw. ganz ganz klein als Rahmen)

Kannst du mal den Code zeigen, wie du die Icons einbindest?

€dit: führe erstmal EikeB's Variante aus, damit ist dann sicher sein, woran es liegt )


----------



## Gast2 (7. Feb 2012)

Führ dein jar file mal über die Konsole aus, dann siehst du welcher Fehler aufgetreten ist.


----------



## aha_01 (7. Feb 2012)

Ich habe die jar file aus der Konsole wie folgt ausgeführt:


> java Application.jar


und habe den Fehler angezeigt bekommen:


> Fehler: Hauptklasse Application.jar konnte nicht gefunden oder geladen werden


ich habe die jar file also mit Winrar aufgemacht und nach der Hauptklasse geschaut. Sie ist da!

Was kann ich nur verkehrt gemacht haben ;(


Grüße
Aha


----------



## Gast2 (7. Feb 2012)

jars führt man anders aus:

```
java -jar Application.jar
```


----------



## aha_01 (7. Feb 2012)

das bestätigt den Verdacht: Icons schlecht eingebunden 



> Uncaught error fetching image:
> java.lang.NullPointerException
> at sun.awt.image.URLImageSource.getConnection(Unknown Source)
> at sun.awt.image.URLImageSource.getDecoder(Unknown Source)
> ...


Also ich habe es wie folgt gemacht:

```
/* ConfigParams.java */
//...
public static String sysTrayIcoPath = "/project.png";
//...
```


```
/*  MakeSysTray.java */
//...
/** Get image from a jar file  **/
URL img_url = Toolkit.class.getResource(ConfigParams.sysTrayIcoPath);
Image image = Toolkit.getDefaultToolkit().createImage(img_url);
//....
```

Soll ich es anders machen?

Grüße
Aha


----------



## aha_01 (7. Feb 2012)

Das komische dran ist dass die Ausführung aus Eclipse einwandfrei funktioniert und der Fehler taucht nur bei der jar file Ausführung 
Kennt ihr ne Möglichkeit de jar file von einem java Projekt ohne eclipse zu erstellen?

Grüße
Aha


----------



## aha_01 (10. Feb 2012)

Hi,

ich hänge immer noch an der glaichen Stelle, weil ich das Problemchen noch nicht gelöst habe 
Falls einer irgendeine Lösungsidee hätte wäre sehr nett 


Grüße
Aha


----------



## Swoop (10. Feb 2012)

Leg die Bilder mal an den gleichen Pfad von dem du auch die jar datei startest... evtl bringts was ?! bzw liegen deine Bilder in Eclipse in einem Ordner ? dann musst du natürlich auch den Ordner erstellen... 

Als beispiel: Eclipse:
Projekt
   - src
   - images
   - jarfile.jar

Ordnerstruktur:
Ordnername
  - jarfile.jar
  - images
      - > bilder!

evtl bringts was ...


----------



## aha_01 (10. Feb 2012)

Sorry, ich habe nicht ganz verstanden was du meinst 
So sieht meine Projektsordnerstruktur aus:
*Projektname/*
    - .settings/
    - bin/
    - icons/
    - src/
    - .classpath
    - .project
    - icons.jar
    - myProjectJar.jar

die Icons-Bilder liegen direkt in der jar-Datei icons.jar

Grüße
Aha


----------



## Swoop (10. Feb 2012)

Achso hm auf diese Art und Weise hab ichs leider noch nie gemacht ... 
Hab da am Anfang wohl was falsch verstanden sorry...


----------



## Sakura26 (10. Feb 2012)

Ich hab das grad selber versucht mit meinen Snake-Programm, und bei mir klappte alles einwandfrei. Weil ich meine main-klasse sowie meine Bilder in ein package reingetan habe.


----------



## Christian1972 (15. Feb 2012)

Hallo, eine jar Datei nie mit winrar oder winzip öffnen, dann funktioniert sie nicht mehr.Versuche mal das jar Archiv auf der shell manuell mit jar zu erstellen ( die Klasse mit der main-Methode angeben!) , dann sollte es, vorausgesetzt dein CCLASSPATH ist außerhalb von Eclipse richtig gesätzt, funktionieren.


----------



## aha_01 (15. Feb 2012)

ich habe die jar Datei (wo die Icons sich befinden) neu erstellt, der ClassPfad wieder angepasst und eine neue jar Datei für das gesamte Projekt (mit angabe von der Main-Class) erstellt aber es geht auch nicht .
Momentan habe ich mir die Icons-Pfade direkt aus ihrem Ordner (./icons/img1.png ...) angegeben ohne jar-Datei  icons.jar zu benutzen und es geht. Aber mich wundert es warum es mit der jar Datei icons.jar nicht funktioniert 

Naja die Zeit wird bestimmt Weisheit mitbringen :autsch:

Grüße 
Aha


----------



## triopsfreak (17. Feb 2012)

Versuch mal die Bilder per Drag und Drop aus dem Explorer in Eclipse zu ziehen, ich denke mal, dass du sie im Moment über den Explorer eingefügt hast. Ich habe die Vermutung, dass Eclipse die Bilder nicht selber bemerkt, wenn du sie einfach so einfügst, keine Ahnung ob es daran liegt. Aber seit ich es so mache, funktioniert es. Bevor ich es so gemacht habe, habe ich es über die Konsole gemacht. Einfach in das Projekt-Verzeichnis gehen, da kannst du mit jar 
	
	
	
	





```
cfvm NameDerDatei.jar Manifest.mf -C bin/ .
```
 Das Manifest ist eine Datei, die dem Packer zeigt, welche Klasse die Main-Class ist, die sieht etwa so aus: 

```
Manifest-Version: 1.0
Main-Class: deinpackage.Hauptklasse
```
[WR]Die Zwei Leerzeilen am Ende dürfen nicht fehlen![/WR]


----------



## aha_01 (20. Feb 2012)

Vielen Dank,
ich habe beiden Ratschlaägen gefolgt:
1- Nie eine jar Datei mit WinRar öffnen
2- Die Bilder mit drag and drop in Eclipse kopieren

Und es hat geklappt :toll:

Danke nochmal, ihr seid toll :applaus:
Schöne Grüße, Aha :lol:


----------

