# Jar Datei in Eclipse erstellen mit Ressourcen Ordner



## Guest (2. Sep 2008)

Ich hab ein kleines Programm in Eclipse geschrieben und Ordner mit den Ressourcen wie Images, Textdateien usw. hinterlegt, aber sobald ich das erstellte jar aufrufe (über die Kommandozeile) erhalte ich die Fehlermeldung, dass die Textdateien und Images usw. nicht gefunden wurden. 

Der Ordern-Aufbau in Eclipse sieht so aus: 

bin
     -Pakete aus src
src 
     -Pakete
images
textdata
guid

Das jar habe ich über FatJar erstellt und unter File-List über "Add Dir..." die images, textdata, und guid hinzugefügt. 
Wenn ich dann aber in das fertig erstellte jar über Winrar rein schaue, sind die Ordner nicht vorhanden, nur der Inhalt der Ordner. 
Kann mir einer von euch weiter helfen, wie ich meine Ordner in das jar-Paket bekomme?


----------



## the_alien (2. Sep 2008)

In der build.properties kannst du hinzufügen was du möchtest... zumindest wenn wir hier wirklich über RCP und Eclipse Plugin reden


----------



## Gast (3. Sep 2008)

Hey, danke für die schnelle Antwort. RCP glaube ich nicht, ist ein einfaches Eclipse und das FatJar plugin. 
Wenn ich einen rechtsklick auf das Projekt mache und dann "Build Path" und dann "Configure Buid Path" dort bei Order und Export sind die Ordner mit drin. 
Wenn ich das mit FatJar erstellte jar starte, kommt die selbe Meldung.. 
Aso - das FatJar nutze ich, wegen der One-Jar Funktion, da ich noch 2 externe jars mit einbinde. 
Was mach ich nur falsch?


----------



## Gast (3. Sep 2008)

Bisher hatte ich es nur unter einem Windows Vista getestet, wo auch die Fehler kamen, unter einem Mac OS kommt diese Fehlermeldung: 
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file 
at java.lang.ClassLoader.defineClass1(Native Method) 
at java.lang.ClassLoader.defineClass(ClassLoader.java:675) 
at com.simontuffs.onejar.JarClassLoader.defineClass(JarClassLoader.java:693) 
at com.simontuffs.onejar.JarClassLoader.findClass(JarClassLoader.java:599) 
at java.lang.ClassLoader.loadClass(ClassLoader.java:316) 
Hilft das vielleicht weiter?


----------



## the_alien (3. Sep 2008)

Schreibst du jetzt ein Eclipse Plugin oder nutzt du Eclipse nur als Entwicklungsumgebung?

Solltest du ein Plugin entwickeln, so musst du in der build.properties setzen was exportiert wird, nicht im Buildpath.


----------



## Gast (3. Sep 2008)

ne, ne - ich nutze Eclipse als Entwicklungsumgebung und glaube ich hab den Eintrag im falschem Thread gemacht.. 
Kann mir trotzdem jmd. helfen?


----------



## the_alien (3. Sep 2008)

Zum Mac OS Problem:
Hast du deine Jar mit 1.6 kompiliert und kein Java 1.6 auf dem Mac?


----------



## Gast (3. Sep 2008)

Unterm Mac hab ich es mit 1.6 kompiliert. Das System Default ist zwar 1.5 aber habs ja aus dem 1.6 bin Verzeichnis (/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home/bin) aus gestartet und dann kommt der Fehler: 
Exception in thread "main" java.lang.UnsupportedClassVersionError: Bad version number in .class file


----------



## Wildcard (3. Sep 2008)

Du hast es mit dem falschen Java gestartet.
Wenn du im richtigen Verzeichnis bist:

```
./java ....
```


----------



## Gast (3. Sep 2008)

Vielen Dank für den Tipp, Wildcard! 
Jetzt starte ich unterm Mac auch mit dem richtigen Java und bekomme die gleiche Fehlermeldung wie unter Windows, was an der Ordnerstruktur im jar liegt.. 

Daher mal 2 Fragen: 
1)
Die Ordner-Struktur habe ich ja oben schon angegeben, aber FatJar packt nicht die Ordner in das jar, sondern nur die Inhalte der Ordner. Wie kann ich das am besten lösen? 
Bin auch gerne für andere Vorschläge offen, wenn ihr meint, dass man was anderes als FatJar benutzen sollte, was auch externe Pakete bequem mit einbinden kann.

2) 
Wie kann ich später dem fertigem jar sagen, dass er unter einem Mac die 1.6er Version nehmen soll?


----------

