为什么javaFX应用程序jar在jdk上运行但在jre上运行?

时间:2013-12-30 16:43:50

标签: java jar javafx

我的JavaFX应用程序调用了一些JNI代码,使用了预加载器jar并使用jdk 1.7进行编译。 现在,当我在另一台装有JRE7的计算机上运行jar时,通过:

  1. 双击jar:它启动但无法加载包含库的JNI代码,因此卡住了。
  2. 使用“java -jar”通过终端运行jar:App运行完全正常!
  3. 现在,如果我在这台机器上安装jdk, 即使双击也能正常运行!
  4. 有人可以告诉我这三种情况有什么区别吗?

2 个答案:

答案 0 :(得分:1)

尝试向您的程序添加日志记录,以便您可以找出JAR文件无法正常执行的原因。

您应该查看您的清单文件是否正确 - 您可能需要查看一个类路径。

答案 1 :(得分:0)

这可能与JavaFX没有完全发布Java 1.7这一事实有关,但作为开发人员预览包含更多内容。

此外,JavaFX打包和部署与标准Java略有不同。在打包JavaFX应用程序时,应该使用一个名为“javafxpackager”的新实用程序。在这里查看文档:{​​{3}}