Kompilowanie i uruchamianie z JavaFX 2.1
Próbuję bardzo proste użycie JavaFX za pomocą prostego zestawu linii kodu, który otrzymałem z innej strony stackoverflow (tutaj). Ale problem nie jest wyraźnie związany z tym kodem, ale z czymś bardziej fundamentalnym w procesie budowania i uruchamiania.
Oto mój kod:
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
.
.
.
Media medMsg = new Media("msg.mp3");
MediaPlayer medplMsg = new MediaPlayer(medMsg);
medplMsg.play();
Na początku nie mogłem tego skompilować. Ostatecznie zorientowałem się, że muszę umieścić -classpath c: Program Files Oracle JavaFX 2.1 SDK rt jfxrt.jar w moim wierszu poleceń javac. (Jednym oczywistym kompleksem pytań jest: Dlaczego nie jest udokumentowane w żadnym oczywistym miejscu (1), że jest to potrzebne i (2) jak dokładnie dowiedzieć się, jaka jest ścieżka do instalacji JavaFX ?!)
Ale po uruchomieniu kodu otrzymuję:
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
Co to znaczy? Wygląda na to, że nie wie, w czasie wykonywania, jak znaleźć klasę javafx.scene.media.Media. Jednak moja zmienna% CLASSPATH% zdecydowanie ma w niej „c: Program Files Oracle Java 2.1 SDK lib rfxrt.jar”.
Jakieś pomysły? Z góry dziękuję!