Oracle Java 8
Si está utilizando Oracle Java 8 o más reciente, como ha señalado cayhorstmann en su respuesta, clases JavaFX son ahora en el classpath de tiempo de ejecución predeterminado para una implementación de Oracle Java. Puede ejecutar javac
y java
en su programa y las clases de JavaFX se encontrarán como se espera, al igual que cualquier otra clase en el JRE.
javac Fxservidor.java
java Fxservidor
OpenJDK 8
Si está utilizando OpenJDK 8, usted (en la actualidad) que tenga que build the JavaFX sources desde el repositorio y OpenJFX y colocar el jfxrt.jar resultante en su ruta de clase similar a la descripción de Java 7 definido en esta respuesta.
JavaFX 2.x/Java 7
utiliza el Java Compiler para compilar programas JavaFX:
"%JDK_HOME%\bin\javac" -classpath "%JAVAFX_SDK_HOME%\rt\lib\jfxrt.jar" fxservidor.java
reemplazar los marcadores de posición y JDK_HOME JAVAFX_SDK_HOME con las rutas de acceso a su instalado JDK y JavaFX SDK respectivamente .
Se proporciona un ejemplo de secuencia de comandos por lotes para el desarrollo de la línea de comandos JavaFX 2.x y el paquete de implementación here.
Aquí es un comando me encontré en mi máquina para compilar su aplicación (es necesario ajustar la ruta de clase para su entorno):
javac -classpath "\Program Files\Oracle\JavaFX 2.1 Runtime\lib\jfxrt.jar" Fxservidor.java
Y aquí es un comando que se utiliza para ejecutar la clase compilada:
java -classpath "\Program Files\Oracle\JavaFX 2.1 Runtime\lib\jfxrt.jar;." Fxservidor
Nota ;.
las fichas que se utilizan para añadir el directorio actual a la ruta de clase de la orden de ejecución de java en Windows (si se utiliza una variante de Unix, a continuación, utilizar :.
en lugar de ;.
).
aplicación de ejemplo
Aquí es una versión modificada de su programa, que compilará:
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.scene.layout.StackPane;
import javafx.stage.Stage;
public class Fxservidor extends Application {
public static void main(String[] args) {
launch(args);
}
@Override public void start(Stage primaryStage) {
primaryStage.setTitle("Hello World!");
Button btn = new Button();
btn.setText("Say 'Hello World'");
btn.setOnAction(new EventHandler<ActionEvent>() {
@Override
public void handle(ActionEvent event) {
System.out.println("Hello);
}
});
StackPane root = new StackPane();
root.getChildren().add(btn);
primaryStage.setScene(new Scene(root, 300, 250));
primaryStage.show();
}
}
Recomendación Despliegue
Si va a distribuir aplicaciones a los usuarios, incluso con Java 8, se recomienda empacar las aplicaciones utilizando las herramientas de embalaje relevantes (por ejemplo, JavaFX ant tasks, javafxpackager, javafx-maven-plugin o javafx-gradle-plugin).
Si solo desea realizar un desarrollo y prueba de línea de comando rápido, de programas pequeños, esas herramientas de embalaje adicionales no son necesarias y puede simplemente seguir los simples pasos de esta respuesta.
Error: No se puede encontrar el símbolo Aplicación – Jhuaraya
Actualicé la respuesta para incluir las instrucciones de importación que faltan de su código de muestra, comente la clase Synthetizer sin suministro para que el código pueda compilar y agregue el comando exacto que utilicé para compilar y ejecutar el programa actualizado – jewelsea