2

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

javapackager  -createbss -outdir . -srcdir .

我收到一个错误:

错误:jfxrt.jar 需要位于 -createbss 和 -createJar 的类路径中,但没有 -nocss2bin

我的 JDK 已正确安装。我有所有必要的模块(包括 FX)。有什么想法可以避免一个愚蠢的错误并让打包程序来完成它的工作吗?如果我从“/usr/lib/jvm/java-9-oracle/jmods”目录运行 javapackager,它将完成而没有错误。所以现在我正在使用一个丑陋的修复,搜索模块目录,使其成为最新的,从那里运行打包程序。但这该死的丑陋。javapackager 不接受除 outdir、srcdir 和 srcfiles 以外的任何其他参数,因此我无法强制加载或查找 jfx 模块的路径。但是环境变量是否有一些技巧或可以使修复不那么难看的东西?

PS 从 jmod 目录运行或从参数中删除“-srcdir”可消除错误,但打包程序不会生成任何输出文件(即使我使用“-srcfiles”指定输入文件)。似乎 javapackager 在 createbss 模式下完全被破坏了。有人在 Java 9 中使用它吗?

4

1 回答 1

0

我检查了来源——JDK 9.0.1 的 javapackager 完全坏了!使用来自 Java 8 的可执行文件。我向 Oracle 填写了一份错误报告,突然他们非常惊讶(没有人注意到核心工具的基本功能之一被破坏了?!)。

临时解决方案:使用 JDK 1.8 中的 javapackaged 工具。你所需要的只是可执行文件本身,你可以放在任何地方。我将它直接放入我的项目树(在“工具”目录下)并从构建脚本中调用。警告!仅将这个替换的可执行文件用于“createbss”!使用常规的所有其他事情!

于 2017-12-13T21:47:03.787 回答