我正在使用jdk1.8.0_25。
我正在尝试运行一个名为'HelloWorldMain.java‘的JavaFX应用程序文件,它用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();
}
}我试着把它当作
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发布于 2014-12-01 19:57:04
将主要方法改为:
public static void main(String[] args) {
launch(HelloWorldMain, args);
}错误基本上给出了答案:不行,您不能只复制文件,在所有情况下都是。groovy和java (例如http://groovy-lang.org/differences.html)有区别。Groovy附带了一个名为java2groovy的工具,可能会帮助迁移。
但是,由于groovy在java代码中运行得很好,为什么还要麻烦呢?迁移这些部件,这些部件最好使用groovy,并暂时保留java部件。
https://stackoverflow.com/questions/27235665
复制相似问题