【发布时间】:2014-12-01 19:24:37
【问题描述】:
我正在使用 jdk1.8.0_25。
我正在尝试运行一个 JavaFX 应用程序文件,当命名为“HelloWorldMain.java”时,它可以使用 javac/java 编译并运行正常。我将它重命名为“HelloWorldMain.groovy”,但无法使用 Groovy 运行它。
是否有一种简单的方法可以使用 Groovy 运行此文件,无需或只需极少修改,最好无需像 GroovyFX 这样的额外软件?如果我必须使用 GroovyFX,我可以不加修改地运行这个纯 Java 代码吗?
import javafx.application.Application;
import javafx.event.ActionEvent;
import javafx.event.EventHandler;
import javafx.scene.Group;
import javafx.scene.Scene;
import javafx.scene.control.Button;
import javafx.stage.Stage;
/**
*
* @author cdea
*/
public class HelloWorldMain extends Application {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
Application.launch(args);
}
@Override
public void start(Stage primaryStage) {
primaryStage.setTitle("Hello World");
Group root = new Group();
Scene scene = new Scene(root, 300, 250);
Button btn = new Button();
btn.setLayoutX(100);
btn.setLayoutY(80);
btn.setText("Hello World");
btn.setOnAction(new EventHandler<ActionEvent>() {
public void handle(ActionEvent event) {
System.out.println("Hello World");
}
});
root.getChildren().add(btn);
primaryStage.setScene(scene);
primaryStage.show();
}
}
我正在尝试运行它
groovy HelloWorldMain.groovy
并在命令行中获得以下输出:
Caught: java.lang.RuntimeException: java.lang.ClassNotFoundException: javafx.application.Application$launch
java.lang.RuntimeException: java.lang.ClassNotFoundException: javafx.application.Application$launch
at javafx.application.Application.launch(Application.java:260)
at javafx.application.Application$launch.call(Unknown Source)
at HelloWorldMain.main(HelloWorldMain.groovy:20)
Caused by: java.lang.ClassNotFoundException: javafx.application.Application$launch
at javafx.application.Application.launch(Application.java:248)
... 2 more
【问题讨论】: