【问题标题】:Intellij Package JavaFx ApplicationIntellij 包 JavaFx 应用程序
【发布时间】:2014-05-27 14:26:02
【问题描述】:

我正在使用 Intelij,但在打包我的 Java 应用程序时遇到了一些问题。

我正在使用 Artifact 来打包我的应用程序。可以选择创建 Jar 包或 JavaFx 包。如果我使用 JavaFx 工件,我需要指定一个 Application 类才能启动。我的包使用标准的 java main(String[] args) 类型启动,因为它还具有从命令行严格运行的选项(无 UI),因此该选项对我不起作用。

如果我改为创建一个 jar,我的 main 方法显然不知道 Application 类是什么:Exception in thread "main" java.lang.NoClassDefFoundError: javafx/application/Application

我完全错过了什么魔法?任何朝着正确方向的颠簸将不胜感激。

【问题讨论】:

    标签: java jar intellij-idea javafx javafx-2


    【解决方案1】:

    如果您有此异常,那是因为您的类路径中没有 JavaFX 运行时。在您的 JavaFX 2.2 安装目录中,有一个名为 rt 的文件夹。在该文件夹中,您有 jfxrt.jar 和一些本机库。

    如果要运行 JavaFX 应用程序,jfxrt.jar 必须包含在类路径中。你没有,所以Java找不到javafx.application.Application类。

    例如(在 Windows 中): C:\Program Files\Oracle\JavaFX 2.2 SDK\rt C:\Program Files\Oracle\JavaFX 2.2 SDK\rt\bin*.dll C:\Program Files\Oracle\JavaFX 2.2 SDK\rt\lib\jfxrt.jar

    如果您使用 Oracle Java 8,那么 jfxrt.jar 将自动位于运行时类路径中,因此您无需手动将 jfxrt.jar 添加到 Java 8 的类路径中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-25
      • 1970-01-01
      • 1970-01-01
      • 2015-12-21
      相关资源
      最近更新 更多