# Runnable Jar mit Doppelklick ausführen



## kulri (5. Mai 2010)

Hallo!

Ich versuche gerade ein ausführbares jar zu erstellen. Wenn ich das über Eclipse -> Export -> Runnable Jar mache, kann ich es zwar über java -jar xyz.jar ausführen, aber mit Doppelklick gehts nicht. Weiß jemand wie ich sowas mache?


----------



## mabuhay (5. Mai 2010)

Hast du Windows? Linux?
Evtl musst du per rechtsklick und Eigenschaften oder so zuerst die dazugehörige Anwendung setzen. 
Ubuntu: Rechtsklick -> Eigenschaften -> Öffnen mit -> Sun Java 6 Runtime oder so ähnlich

mfg


----------



## nrg (5. Mai 2010)

mach doch eine .bat


----------



## kulri (5. Mai 2010)

Wenn ich ne .bat mache, kann ich genauso gut ne Verknüpfung machen, aber dann hab ich in beiden Fällen immer diese dämliche Kommandozeile im Hintergrund offen  ausserdem soll das Ganze dann auch unter Linux laufen.....

Im Moment bin ich unter Windows; das Jar wird auch mit dem Java Icon dargestellt, sollte also auch von Java ausgeführt werden.
Ich hab hier auch ein anderes runnable Jar aufm Desktop liegen, das ich im Internet gefunden hab. Da gehts, auch unter Linux.
Also irgendwie muss es gehen.......


----------



## nrg (5. Mai 2010)

start javaw ....

dann ist die dämliche kommandozeile weg.

gab hier auch mal son thread: "6 Möglichkeiten Java auszuführen" oder so. find ihn aber nicht mehr 

edit: ahh hab ihn 
http://www.java-forum.org/spezialthemen/18384-6-varianten-java-programme-starten-jar-bat-exe-cd.html


----------



## kulri (5. Mai 2010)

Danke erstmal für eure Vorschläge und den Link, sehr interessanter Thread.

Punkt 1 ist das, was ich eigentlich machen wollte, weil plattformunabhängig.
Die anderen sind zwar interessant, werde ich mir sicher mal anschaun, aber für mein aktuelles Problem keine Lösung


----------



## Final_Striker (5. Mai 2010)

Versuch es mal mit dem Eclipse FatJar Plugin, dann sollte es funktionieren.


----------



## kulri (6. Mai 2010)

ja, hab ich schon installiert und ausprobiert. Mit dem FatJar Plugin kann ich noch zusätzliche Resourcen wie icons etc. mit ins Jar packen. Aber mit Doppelklick ausführen kann ichs trotzdem nicht 

Ich hab auch mal was gelesen, man müsse bestimmte Einstellungen am javaw machen.... aber da bin ich vollkommen überfragt. Geht sowas überhaupt?

Ich hab, wie oben bereits erwähnt, ein Jar im Internet gefunden, welches ich mit Doppelklick öffnen kann. Daher scheiden Java-Einstellungen eigentlich aus. Ich hab dessen Inhalt mal mit meinem Jar verglichen, konnte aber keinen Unterschied feststellen, weder in der File-Struktur noch im Manifest. Ich bin absolut ratlos 

Gibts hier nicht einen Ant-Profi, der sowas grad mal ausm linken Hosenbein schüttelt???


----------



## L-ectron-X (6. Mai 2010)

Wenn deine Jar-Datei nicht starten will, kann man sich in der Konsole nach einem möglichen Problem erkundigen.
Starte mal deine Jar-Datei in der Konsole mit:

```
java- jar DeinJar.jar
```

Gibts dann Fehlermeldungen?


----------



## kulri (8. Mai 2010)

So, hier jetzt nochmal eine Zusammenfassung:
Ich bin unter *Windows* und erzeuge mein.jar mit Eclipse -> export -> runnable jar oder mit dem fatjar-plugin, habe beides ausprobiert, das Ergebnis ist immer das gleiche. Ausserdem habe ich ein Jar aus dem Internet, ich nenne es ausDemInternet.jar 

Doppelklick:
- ausDemInternet.jar wird ausgeführt
- mein.jar wird nicht ausgeführt

Kommandozeile (java - jar xxx.jar):
- ausDemInternet.jar wird ohne Exceptions ausgeführt
- mein.jar wird ohne Exceptions ausgeführt

Ich habe die Ordneroptionen überprüft. Jars werden ausgeführt mit *"C:\Program Files (x86)\Java\jre6\bin\javaw.exe" -jar "%1" %**

Auch unter *Linux* habe ich es ausprobiert, mit dem gleichen Ergebnis: über die shell werden beide Jars ohne Exceptions ausgeführt, bei Doppelklick wird mein.jar nicht ausgeführt, ausDemInternet.jar schon.

das *Manifest* liegt in beiden Jars unter */META-INF/MANIFEST.MF*

Inhalt des Manifests ausDemInternet.jar:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.7.1
Created-By: 11.0-b15 (Sun Microsystems Inc.)
Main-Class: net.percederberg.mibble.MibbleBrowser

Inhalt des Manifests mein.jar
Manifest-Version: 1.0
Created-By: Fat Jar Eclipse Plug-In
Main-Class: de.overturn.util.radio.RadioCharacteristicCalculator

Ordnerstruktur mein.jar:
die class-files liegen unter de.overturn.util.radio
die swt-lib liegt unter org.eclipse.swt...... (nicht als jar)

Ordnerstruktur ausDemInternet.jar:
genauso wie bei meinem jar.

Es gibt nur einen Unterschied: Da ich hier auf einer 64-bit-Maschine bin, liegen in mein.jar noch swt-win32....dlls. Aber das kann doch nicht das Problem sein oder? Über Kommandozeile lässt mein.jar sich ja problemlos ausführen.

Ich weiß jetzt echt nicht mehr weiter. Hiiiiilfeeeeeee!


----------



## kulri (10. Mai 2010)

So, abschließend möchte ich berichten, dass ich es nun tatsächlich geschafft habe, ein Jar zu erzeugen, welches mit Doppelklick ausgeführt werden kann.
Ich konnte auch den Fehler, der dies bisher verhinderte eingrenzen. Es liegt definitiv an der SWT-lib, die ich hier am (64bit-) PC habe. Egal was ich versucht habe, weder auf 32bit- noch auf 64bit-Plattformen konnte ich es mit Doppelklick ausführen. Nun habe ich es mit meinem (32bit-)Laptop versucht (über Eclipse->Export->RunnableJar) und es hat auf Anhieb funktioniert.... mit Einschränkungen, denn:
Ich kann dieses Jar jetzt auf allen 32bit-Systemen mit Doppelklick ausführen, und ich kann es auf meinem 64bit-PC ausführen. Nur mein Kollege kann es auf seinem 64bit-PC nicht ausführen. Warum das so ist, habe ich noch nicht herausgefunden, wahrscheinlich unterschiedliche SWT-/Java-Versionen.
Was ich auch noch überhaupt nicht verstehe ist, dass ich es mit java -jar xyz.jar auf allen Plattformen immer ausführen konnte, ohne Exceptions, sehr komisch.
Wenn jemand dafür eine Erklärung hat, wäre ich dankbar, aber da ich es nun geschafft habe, werde ich den Thread mal als erledigt markieren.
Danke für eure Mithilfe.

Gruß
kulri


----------

