Компиляция и запуск с JavaFX 2.1
Я пытаюсь очень просто использовать JavaFX, используя простой набор строк кода, который я получил от другой страницы stackoverflow (Вот). Но проблема явно не в этом коде, а в чем-то более фундаментальном в процессе сборки и запуска.
Вот мой код:
import javafx.scene.media.Media;
import javafx.scene.media.MediaPlayer;
.
.
.
Media medMsg = new Media("msg.mp3");
MediaPlayer medplMsg = new MediaPlayer(medMsg);
medplMsg.play();
Сначала я не мог заставить это скомпилироваться вообще. В конце концов я понял, что мне нужно поместить -classpath c: \ Program Files \ Oracle \ JavaFX 2.1 SDK \ lib \ rt \ jfxrt.jar в мою командную строку javac. (Один очевидный комплекс вопросов здесь таков: почему ни в одном очевидном месте не задокументировано (1), что это необходимо, и (2) как точно определить, каков путь к установке JavaFX ?!)
Но когда я запускаю код, я получаю:
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
Что это значит? Похоже, что во время выполнения он не знает, как найти класс javafx.scene.media.Media. Но моя переменная% CLASSPATH% определенно имеет & quot; c: \ Program Files \ Oracle \ JavaFX 2.1 SDK \ lib \ rt \ jfxrt.jar & quot; в этом.
Есть идеи? Заранее спасибо!