【问题标题】:java.lang.ClassNotFoundException: javafx.application.Applicationjava.lang.ClassNotFoundException: javafx.application.Application
【发布时间】:2016-12-05 10:48:32
【问题描述】:

我尝试将我的 javafx 应用程序压缩到 jar 中,当我运行时:

java -jar /home/roroco/Dropbox/rbs/ro_cmds_global/j/fileToClip/build/libs/server-1.0.jar -cp /home/roroco/Downloads/jdk1.8.0_74/jre/lib/ext/jfxrt.jar

它引发了这个错误:

Caused by: java.lang.ClassNotFoundException: javafx.application.Application
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)

我确定 jfxrt.jar 包含 javafx.application.Application

roroco@roroco /tmp/fileToClip $ jar tf 
/home/roroco/Downloads/jdk1.8.0_74/jre/lib/ext/jfxrt.jar|gr Application\.class
com/sun/glass/ui/Application.class
com/sun/glass/ui/gtk/GtkApplication.class
javafx/application/Application.class

为什么会引发“ClassNotFoundException”?

更新

我的java版本是:

roroco@roroco ~/Dropbox/try/j/try $ java -version
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~14.04-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)

【问题讨论】:

  • 您不需要在类路径中指定该 jar 文件:lib/ext 文件夹中的 jar 文件默认位于类路径中。你确定java 指向那个jdk 版本(java -version 给出了什么?)。
  • @James_D 即使我删除了-cp,仍然会出现错误,我希望有办法解决它
  • 您使用的是哪个 JDK 版本?
  • @James_D,谢谢,我找到了原因,因为我使用的是 openjdk 而不是 oracle jdk,当切换到 oracle jdk 时,一切正常

标签: java javafx jar classnotfoundexception


【解决方案1】:

我找到原因了:因为我的java版本是:

roroco@roroco ~/Dropbox/try/j/try $ java -version
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~14.04-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)

我应该改用 oracle bin/java,在我的情况下,我使用以下方法会起作用:

/home/roroco/Downloads/jdk1.8.0_74/bin/java -jar /home/roroco/Dropbox/rbs/ro_cmds_global/j/fileToClip/build/libs/server-1.0.jar

【讨论】:

    【解决方案2】:

    问题可能是你的IDE中的de java版本与你“java”comamnd时你的linux的java版本不同。

    【讨论】:

      猜你喜欢
      • 2019-03-30
      • 1970-01-01
      • 2018-05-24
      • 1970-01-01
      • 1970-01-01
      • 2015-02-22
      • 2018-01-13
      相关资源
      最近更新 更多