Eclipse Helios中的JavaFX:IllegalArgumentException(Css2Bin.java:44)

时间:2012-11-27 12:34:45

标签: javafx-2

我试图在eclipse helios中启动并制作javafx 2.0时出现此错误

Exception in thread "main" java.lang.IllegalArgumentException: expected file name as argument
at com.sun.javafx.css.parser.Css2Bin.main(Css2Bin.java:44)

最近,我正在逐步学习Eclipse IDE中的JavaFX 2.0入门 从此 - website
我不知道如何解决它,有人可以帮助我吗?感谢

7 个答案:

答案 0 :(得分:1)

  • 将jfxrt.jar添加到Build Path
  • 转到参考库
  • 中的属性jfxrt.jar
  • 转至运行/调试设置> Css2Bin
  • 标记复选框:
    • 搜索主类时包含系统库
    • 搜索主要类时包含继承的主电源

现在开心吧!

答案 1 :(得分:1)

此问题来自Css2Bin被设置为要运行的应用程序。这意味着eclipse尝试将Css2Bin作为主应用程序运行,而Css2Bin在没有收到任何命令行参数时崩溃。

解决此问题的最简单方法是从运行/调试设置(项目设置)中删除Css2Bin,并添加一个在菜单中选择自己的应用程序的地方。

答案 2 :(得分:0)

如果你不依赖于在helios中运行,我建议你试试e(fx)clipse。您可以在http://www.efxclipse.org/

找到它

答案 3 :(得分:0)

我有同样的问题(在e(fx)clipse中)。我尝试了上面提到的解决方案,仍然有同样的问题。我添加了一个新的运行配置,并将其直接指向thar具有Main的类,这对我有用。

答案 4 :(得分:0)

很容易你需要一个扩展Application Class的主类来启动这样的Args:

public class Test extends Application {

    public static void main(String[] args) {

        // Launch the Application 
        launch(args);   

    }

    @Override
    public void start(Stage primaryStage) throws Exception {

        //JavaFx load the GUI from FXML file ... super 
        Parent root = FXMLLoader.load(getClass().getResource("yourGUI.fxml"));
        primaryStage.setTitle("App Name");
        primaryStage.setScene(new Scene(root));
        primaryStage.show();

    }

}

答案 5 :(得分:0)

嗯,这些答案似乎说明了你需要做什么,但他们并不是非常直截了当。

  1. 右键单击该项目,然后单击“属性”。
  2. 选择“运行/调试设置”。
  3. 点击Css2Bin。
  4. 删除它。
  5. 相信我,我尝试过它并且有效。

答案 6 :(得分:0)

假设您已将jfxrt.jar添加到参考库...

现在

右键单击您的项目 - >适当的 - >运行/调试设置 - >点击Css2Bin - >

主类:

单击“搜索”按钮

将com.sun.javafx.css.parser.Css2Bin更改为您的项目主类

标记复选框

  • 搜索主类时包含系统库
  • 搜索主要类时包含继承的主电源