我正在使用jdk1.8.0_25。
我正在尝试运行JavaFX应用程序文件,在该文件下,该文件名为“ HelloWorldMain.java”时,将使用javac / java编译并运行OK。我将其重命名为“ 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();
}
}
Run Code Online (Sandbox Code Playgroud)
我正在尝试以
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
Run Code Online (Sandbox Code Playgroud)
将main方法替换为:
public static void main(String[] args) {
launch(HelloWorldMain, args);
}
Run Code Online (Sandbox Code Playgroud)
该错误基本上为您提供了答案:不,您不能只在所有情况下都复制文件。groovy和java之间有区别(例如,http : //groovy-lang.org/differences.html)。Groovy附带了一个名为的工具java2groovy
,可能有助于迁移。
但是随着groovy在Java代码上运行良好,为什么还要麻烦呢?迁移那些使用groovy更好的部件,并暂时保留Java部件。
归档时间: |
|
查看次数: |
1219 次 |
最近记录: |