Javafx 2 EclipseHelios中的JavaFX:IllegalArgumentException(Css2Bin.java:44)

Javafx 2 EclipseHelios中的JavaFX:IllegalArgumentException(Css2Bin.java:44),javafx-2,Javafx 2,我在EclipseHelios中尝试启动并制作JavaFX2.0时遇到了这个错误 Exception in thread "main" java.lang.IllegalArgumentException: expected file name as argument at com.sun.javafx.css.parser.Css2Bin.main(Css2Bin.java:44) 最近,我正在逐步开始在EclipseIDE中使用JavaFX2.0 从此- 我不知道怎么修

我在EclipseHelios中尝试启动并制作JavaFX2.0时遇到了这个错误

Exception in thread "main" java.lang.IllegalArgumentException: expected file name as argument
at com.sun.javafx.css.parser.Css2Bin.main(Css2Bin.java:44)
最近,我正在逐步开始在EclipseIDE中使用JavaFX2.0 从此-
我不知道怎么修,有人能帮我吗?谢谢

  • 将jfxrt.jar添加到构建路径
  • 转到引用库中的属性jfxrt.jar
  • 转到运行/调试设置>Css2Bin
  • 标记复选框:
    • 搜索主类时包括系统库
    • 搜索主类时包括继承的主类

现在要快乐

如果你不依赖于在太阳神中跑步,我建议你试试e(fx)clipse。你可以在

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

您很容易需要一个扩展应用程序类的主类来启动参数,如下所示:

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();

    }

}

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


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

好吧,这些答案似乎说明了您需要做什么,但它们不是很直接。

  • 在项目上单击鼠标右键,然后单击“属性”
  • 选择运行/调试设置
  • 单击Css2Bin
  • 删除它

  • 相信我,我已经试过了,而且效果很好。

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

    现在

    右键单击项目->属性->运行/调试设置->单击Css2Bin->

    主要类别:

    单击搜索按钮

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

    标记复选框

    • 搜索主类时包括系统库
    • 搜索主类时包括继承的主类

    我们可以作为解决问题的应用程序运行

    我也遇到了用户1533670描述的问题,这不会改变Eclipse中Java 1.7u25/FX 2.2的任何内容。您应该在回答中添加更多内容,尽管我认为运行应用程序不会解决任何问题。