Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javafxpackager错误_Java_Ant_Jar_Classpath_Javafx - Fatal编程技术网

javafxpackager错误

javafxpackager错误,java,ant,jar,classpath,javafx,Java,Ant,Jar,Classpath,Javafx,我尝试用javafxpackager打包我的javafx项目。一切都很好(包被创建),但我得到了错误 错误:jfxrt.jar需要位于-createbss和不带-nocss2bin的-createJar的类路径上 我用来调用javafxpackager的Ant脚本: <exec executable="javafxpackager"> <arg value="-createJar"/> <arg line="-classpath /j

我尝试用javafxpackager打包我的javafx项目。一切都很好(包被创建),但我得到了错误 错误:jfxrt.jar需要位于-createbss和不带-nocss2bin的-createJar的类路径上 我用来调用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>


我完全无法理解原因。

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

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

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

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

而不是通过exec块调用


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

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

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

而不是通过exec块调用

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