如何为ARM创建自包含或Java捆绑的JavaFX应用程序包

时间:2015-03-26 21:06:39

标签: linux javafx arm

我在哪里可以获得与JRE捆绑在一起的已编译JavaFX应用程序的工作副本,以便我可以在ARM linux上执行此应用程序?

如何创建可在ARM Linux上运行的JavaFX app + JRE包

对我来说最好的情况是能够创建启用了复制粘贴的文件夹树或单个可执行文件..

我确实理解这个问题可能过于模糊,但我迫切需要一些帮助。我花了6个晚上+ 2个晚上搜索如何在UDOO(类似RPi2)板上的ARM linux上运行编译的JavaFX应用程序(.jar文件)。

我很长一段时间以来都是一个.NET家伙,现在我不得不制作类似WPF的丰富的UX应用程序,可以在这个特定的硬件上运行,而且由于它对WPF的可能性,我选择了JavaFX。它在我的桌面PC上运行良好,但我绝对不能让它在ARM linux上运行。

2 个答案:

答案 0 :(得分:0)

我也想这样做。你有没有工作?我的解决方案是使用IntelliJ或任何其他IDE提供的工具打包JAR,将JRE包含在应用程序内的文件夹中,然后编写一个脚本,从包含的JRE中调用JAR,如:

viewController.view

答案 1 :(得分:0)

我现在也尝试了两天,但没有让它工作。 我将 maven 与 javafx-maven-plugin 结合使用来构建应用程序的本机安装程序。

起初我得到错误,javafx-ant.jar 工具丢失:

[ERROR] Failed to execute goal build-jar(create-jfxjar) on project foo: 
Execution create-jfxjar of goal build-jar failed: Plugin javafx-maven-plugin or 
one of its dependencies could not be resolved: Could not find artifact 
javafx-packager:javafx-packager:jar:1.8.0 at specified path 
/opt/jdk1.8.0/jre/../lib/ant-javafx.jar 

然后我在 Windows JDK 中找到了 ant-javafx.jar,但随后又报告了另一个错误,该错误不支持 linux。好的,所以我下载了一个 linux JDK 并使用了 ant-javafx.jar。现在它可以构建和创建 *.deb 文件成功

但是当我启动安装程序时,它失败并显示一条消息,并且在检查日志 (/var/log/apt/term.log) 时

日志开始:2021-04-29 00:40:01 dpkg:创建存档时出错 /home/pi/Foo/target/jfx/native/foo.deb (--unpack): 包架构 (amd64) 与系统 (armhf) 不匹配

然后我做了研究,发现了以下mailing list entry

<块引用>

[...] Java Packager 没有随我所知道的任何 ARM 构建一起提供。目前仅适用于 X86 Windows、Linux 和 Mac。 [...]

这基本上解释了:打包器目前不适用于 ARM。也许我们应该写信鼓励他添加它...

=> 所以现在我直接使用 jar。