Ответ 1
Этот вопрос несколько дублирует вручную компилировать javafx 2.0.
Этот ответ специально для версий JavaFX 2 до выпуска Oracle Java 8. Для Oracle JavaFX 8+ среда исполнения JavaFX находится в пути к классам, поэтому вам не нужно явно добавлять ее при компиляции или запуске приложений JavaFX.
Java включает JavaFX в jdk7u6 и выше (для Windows и Linux) и jdk7u4 и выше (для OSX).
Загрузите и используйте jdk7u6 +, и вам не нужно указывать файл jfxrt.jar в любом пути к классам, и все ваши связанные с JavaFX проблемы с классами должны исчезнуть.
Ниже приведена ссылка на раннюю двоичную сборку jdk7u6 .
Для JavaFX 2.1 в Windows вам нужно включить jfxrt.jar lib в свой путь к классу для компиляции (NetBeans сделает это автоматически, если вы используете настройки платформы JavaFX) и (если вы не правильно упаковали свое приложение, используя javafxpackager или JavaFX ant), также во время выполнения.
JavaFX 2.1 для Linux является предварительным выпуском (в случае, если вы используете это). Для предварительного выпуска Linux вам нужно будет включить jfxrt.jar в свой путь к классам как для компиляции, так и для выполнения, если среда исполнения JavaFX в Linux была настроена неправильно.
Вот пример компиляции командной строки и выполнения программы JavaFX под окнами.
Запустите редактор:
C:\dev\test>notepad HelloWorld.java
Вставьте следующий код и сохраните его:
import javafx.application.Application;
import javafx.scene.Scene;
import javafx.scene.control.Label;
import javafx.stage.Stage;
public class HelloWorld extends Application {
public static void main(String[] args) {
launch(args);
}
@Override
public void start(Stage stage) {
stage.setScene(new Scene(new Label("Hello World")));
stage.show();
}
}
Скомпилируйте и запустите JavaFX 2.2:
C:\dev\test>javac -cp "\Program Files\Oracle\JavaFX 2.2 Runtime\lib\jfxrt.jar" HelloWorld.java
C:\dev\test>java -cp ".;\Program Files\Oracle\JavaFX 2.2 Runtime\lib\jfxrt.jar" HelloWorld
Для Oracle Java 8+ явный спецификатор пути JavaFX не требуется:
C:\dev\test>javac HelloWorld.java
C:\dev\test>java HelloWorld
Обратите внимание, что обычно вместо того, чтобы просто компилировать код и запускать его, вы также должны упаковать код с помощью javafxpackager или javafx ant задач. Эти задачи будут включать класс запуска в ваше упакованное приложение, которое будет определять версию и местоположение среды выполнения JavaFX, так что вам не нужно указывать местоположение jfxrt.jar, если вы не хотите переопределять местоположение по умолчанию для платформы.