Ich entwickle eine JavaFx 2.0 Anwendung mit Netbeans 7. Die Hauptanwendung verweist auf ein anderes Klassenbibliotheksprojekt, das durch Rechtsklick auf den Ordner 'Libraries' und Auswahl von 'Add Project...' hinzugefügt wurde. Das Ausführen der Anwendung aus Netbeans funktioniert einwandfrei.
Bei der Bereitstellung in einer jar-Datei durch "Clean and build" und dem Versuch, sie über die Konsole mit
java -jar TestApp.jar
Ich bekomme
Exception in thread "JavaFX-Launcher" java.lang.NoClassDefFoundError: net/pmoule/SomeClass
...
Der Ordner dist/lib meiner Anwendung enthält die referenzierte Bibliothek. IMHO sollte also alles in Ordnung sein. Wenn ich mir die Manifest.MF in meinem Anwendungs-Jar ansehe, erhalte ich folgendes
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_23-b05 (Sun Microsystems Inc.)
Implementation-Vendor: pmoule
Implementation-Title: TestApp
Implementation-Version: 1.0
Main-Class: com/javafx/main/Main
JavaFX-Application-Class: testapp.TestApp
JavaFX-Version: 2.0
Wo ist mein Klassenpfad? Wie bringe ich Netbeans dazu, den richtigen Klassenpfad hinzuzufügen?
Ich habe versucht, sie manuell zur Manifest.MF hinzuzufügen, indem ich die in der Jar-Datei enthaltene Datei bearbeitet habe
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.6.0_23-b05 (Sun Microsystems Inc.)
Implementation-Vendor: pmoule
Implementation-Title: TestApp
Implementation-Version: 1.0
Class-Path: lib/MyLib.jar //THIS IS NEW
Main-Class: com/javafx/main/Main
JavaFX-Application-Class: testapp.TestApp
JavaFX-Version: 2.0
Kein Erfolg und derselbe Fehler.
Alle mit dem JavaFX 2.0 SDK gelieferten Beispiele funktionieren durch Doppelklick im WindowsExplorer oder von der Konsole aus durch Eingabe von z.B.
java -jar PathAnimation.jar
In keinem dieser Beispiele wird jedoch auf ein externes Gefäß verwiesen.
Einige Recherchen führten mich zu dieser Frage: Netbeans JavaFX 2.0 Anwendung Aber bisher gibt es keine Lösung.
Danke für jede Hilfe!