Kompilieren und Ausführen mit JavaFX 2.1
Ich versuche eine sehr einfache Verwendung von JavaFX mit einem einfachen Satz von Codezeilen, die ich von einer anderen Stackoverflow-Seite erhalten habe (Hier). Das Problem liegt jedoch eindeutig nicht in diesem Code, sondern in etwas Grundlegenderem im Build-and-Run-Prozess.
Hier ist mein Code:
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
.
.
.
Media medMsg = new Media("msg.mp3");
MediaPlayer medplMsg = new MediaPlayer(medMsg);
medplMsg.play();
Zuerst konnte ich das überhaupt nicht kompilieren. Schließlich stellte ich fest, dass ich -classpath c: \ Programme \ Oracle \ JavaFX 2.1 SDK \ lib \ rt \ jfxrt.jar in meine Java-Befehlszeile schreiben musste. (Ein offensichtlicher Komplex von Fragen ist hier: Warum ist nicht an irgendeiner offensichtlichen Stelle dokumentiert (1), dass dies erforderlich ist und (2) wie genau der Pfad zur JavaFX-Installation ermittelt werden kann ?!)
Aber wenn ich den Code ausführe, erhalte ich:
Exception in thread "main" java.lang.NoClassDefFoundError: javafx/scene/media/Media
at progtest.main(progtest.java:120)
Caused by: java.lang.ClassNotFoundException: javafx.scene.media.Media
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 1 more
Was bedeutet das? Es sieht so aus, als ob es zur Laufzeit nicht weiß, wie die Klasse javafx.scene.media.Media zu finden ist. Aber meine Variable% CLASSPATH% enthält definitiv "c: \ Programme \ Oracle \ JavaFX 2.1 SDK \ lib \ rt \ jfxrt.jar".
Irgendwelche Ideen? Danke im Voraus!