# Eclipse: Erstelltes jar-File funktioniert nicht



## Kiamur (22. Sep 2005)

Hallo!

Ich habe eine kleine Anwendung mit Eclipse geschrieben. Sie wird von der Ide aus ohne Probleme gestartet. Wenn ich jetzt ein Jar File davon erstelle, um das Programm mit einem Doppelklick darauf starten zu können, dann sehe ich meine Anwendung leider nicht, und sie wird auch gleich wieder beendet.

Dass das so ist sehe ich im Task Manager. Wenn ich auf das jar-File doppelt draufklicke, dann erscheint ein neuer Prozess javaw.exe, und ist nach 2 Sekunden wieder weg.

Meine Anwendung beinhaltet als Layout Manager einen nicht zum jdk von Sun gehörenden TableLayout-Manager, den ich in Eclipse über Properties/Java Build Path/... eingebunden habe. Kann es damit etwas zu tun haben ?

Gruß
Maik


----------



## Bleiglanz (22. Sep 2005)

starte es mal von der konsole mit java -jar

dann gibts vielleicht ne fehlermeldung


----------



## Kiamur (22. Sep 2005)

Super Tip!!!!

Fehlermeldung: "Exception in thread "main" java.lang.NoClassDefFoundError: info/clearthought/layout/TableLayout . . .usw."

Das heisst doch wohl, dass ich meinen Classpath anpassen muss, nicht wahr?!?


----------



## Bleiglanz (22. Sep 2005)

ja


----------



## Kiamur (22. Sep 2005)

habe ich gerade versucht, klappt aber auch nicht.

der Pfad zum TableLayout.jar sieht so aus: f:\tausch\tablelayout\jar\TableLayout.jar

was muss denn nun genau im classpath stehen? Ich habe 

f:\tausch\tablelayout\jar

und 

f:\tausch\tablelayout\jar\TableLayout.jar

ausprobiert. Haut beides nicht hin . . . .


----------



## Kiamur (23. Sep 2005)

Hallo, hat nicht irgendwer eine Idee, warum es nicht funktioniert????


----------



## Bleiglanz (23. Sep 2005)

es muss mit

java -cp 
.;f:\tausch\tablelayout\jar\TableLayout.jar MeineKlasse

funktionieren


----------



## Kiamur (23. Sep 2005)

Hi!

Leider geht es nicht. Fehlermeldung: "Exception in thread "main" java.lang.NoClassDefFoundError: TableLayoutTest"

Ich weiss echt nicht mehr weiter. . . . .  :cry:


----------



## rgast (29. Sep 2005)

hi,
das funzt nur nur mit nem korrekten manifest.mf, ich lasse das von Eclipse erstellen:

1.) wo liegt dein externes jar : bei mir im hauptpfad des projektes, 
z.B. mysql-connector..jar, mein Projekt heisst GLJ2005, so auch die main-Class

2.) in Project->Properties->JavaBuildPath sieht die Liste so aus :
mysql-coonector...jar (externe jar)
poi-2.0-RC2-20040102.ja (externe jar)
JRE System Library[jre1.5.0_1]
GLJ2005/src

Default output folder : glj2005/bin

(mit 'gefüllt' meine ich das Häkchen in der Checkbox)

3.) JAR-Erstellung :
File->Export : JAR-File -> NEXT

JAR Package-Specification :
Baum links
öffne den Baum von GLJ2005, src muß 'gefüllt' sein !
Baum rechts
füllen : manifest.mf, mysql-connector..jar, poi-2.0-RC2-...jar
destination : vorgeschlagenenPfad so lassen !
NEXT->

ExportClassFiles without warning : gefüllt
NEXT->

Generate the manifest File : gefüllt 
Save.. : gefüllt
ManifestFile : so lassen !
Seal : erstmal unwichtig (Signierung..)
MainClass -> BROWSE : im 2.Fenster sollte jetzt 'glj2005' erscheinen
(sonst noch mal zur JAR-File-Spez. zurück und Vorgänge bzw. Füllung überprüfen !)
das glj2005 jetzt anklicken (markieren)
OK ->FINISH

jetzt sollte der Laufbalken gefüllt werden, ggf. Warnings erstmal unwichtig..
JETZT müßte sich eine glj2005.jar im Projekt-Hauptverzeichnis befinden

so far..


DOPPELKLICK(bei Windows) :
jetzt müßte die JAR starten ! (tuts jedenfalls bei mir, hat hier aber auch viel Nerven gekostet,die Hilfe 
von Eclipse : naja..)


----------



## Kiamur (6. Okt 2005)

Hallo rgast!

Danke für deine Mühe. Leider lief es so auch nicht. Der Trick, der bei mir geholfen hat war nicht die Jar Files, die nicht gefunden wurden zu dem Jar des Projektes hinzufügen, sondern die entpackten Jar Files.

Wenn sich also die Ordnerstruktur des Packages, welches ich benutzen möchte im Jar File meines gesamten Projektes ist, dann läuft es.

Gruß
Maik


----------

