1

我尝试用 javafxpackager 打包我的 javafx 项目。一切正常(包已创建),但我收到错误错误:jfxrt.jar 需要位于类路径上,用于 -createbss 和 -createJar 没有 -nocss2bin 我用来调用 javafxpackager 的 Ant 脚本:

<exec executable="javafxpackager">
        <arg value="-createJar"/>
        <arg line="-classpath /jdk/jre/lib/jfxrt.jar"/>
        <arg line="-srcdir build"/>
        <arg line="-appclass org.shark.client.Shark"/>
        <arg line="-outdir packs"/>
        <arg line="-outfile Shark"/>
        <arg line="-manifestAttrs Main-Class=org.shark.client.Shark"/>
    </exec>

我完全无法理解其中的原因。

4

2 回答 2

1

如果您已经在 ant 中,为什么不使用 javafx 的 ant 扩展,我在那里没有看到这个问题。

于 2013-01-17T22:16:22.320 回答
0

在 exec 块中添加一个额外的参数 -nocss2bin。将 css 转换为二进制格式是一种性能优化,您几乎永远不需要。

<exec executable="javafxpackager">
    <arg value="-createjar"/>
    <arg value="-nocss2bin"/>
    ...
</exec>

由于您似乎已经在使用 ant,我建议您使用JavaFX ant 任务而不是调用javafxpackager(与 tomsontom 建议的相同)。

另请注意,对于 java 7u12+,jfxrt.jar应该在默认执行路径上,因此以后的 java 版本应该不会遇到您提到的问题,并且-nocss2bin不再需要显式设置。

于 2013-01-17T22:22:18.947 回答