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!