Java 9 javapacker 在创建 bss'时找不到 jfxrt.jar。在 Linux 下的"createbss"模式下似乎完全崩溃了。如何避免该错误?



我具有带有Sun JDE 9.0.1的Ubuntu Linux系统,我需要将一些FX的CSS文件转换为从控制台的二进制文件。但是当我执行命令时:

javapackager  -createbss -outdir . -srcdir .

我有一个错误:

错误:jfxrt.jar需要在-createbss和 -nocss2bin

createjar

我的JDK已正确安装。我有所有必要的模块(包括FX)。有什么想法我如何避免一个愚蠢的错误,然后让打包器去做工作?如果我从"/usr/lib/jvm/java-9-oracle/jmods"目录中运行javapackager,则无误。因此,现在我正在使用一个丑陋的修复程序,搜索模块目录,使其最新,从那里运行包装器。但这真是丑陋。Javapackager不接受任何其他参数,而是OUTDIR,SRCDIR和SRCFILE,因此我无法强制加载或寻找JFX模块的路径。但是,环境变量或其他可能使修复程序较少丑陋的技巧吗?

P.S。从JMOD目录运行或从参数中删除" -srcdir"会消除错误,但是Packager不会生成任何输出文件(即使我用" -srcfiles"指定输入文件,也不会产生任何输出文件)。似乎Javapackager在CreateBSS模式下完全被打破。有人使用Java 9吗?

我已经检查了来源-JDK 9.0.1的Javapackager完全损坏了!使用Java 8中的可执行文件。我填写了一个错误报告到Oracle,突然间,它们感到非常惊讶(没有人注意到核心工具的基本功能之一已损坏?!)。

临时解决方案:使用JDK 1.8的Javapackaged工具。您需要的只是可执行文件本身,您可以放在任何地方。我将其直接放入项目树(在"工具"目录下)中,然后从建筑物脚本打电话。警告!仅将其替换为" createbss"的可执行文件!将常规的所有内容使用!

最新更新