1

javafxプロジェクトをjavafxpackagerでパックしようとしています。すべてが正常に機能します(パッケージが作成されます)が、エラーエラーが発生します:jfxrt.jarは、-createbssおよび-createJarのクラスパス上にある必要があります-nocss2binなしのAntスクリプトjavafxpackagerの呼び出しに使用します:

<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を使用しているように見えるので、execブロックを介してjavafxpackagerを呼び出すのではなく、 JavaFX antタスクを使用することをお勧めします(tomsontomが提案するのと同じです)。

また、java 7u12 +jfxrt.jarの場合、デフォルトの実行パス上にある必要があるため、後のJavaバージョンでは前述の問題が発生せず、明示的に設定-nocss2binする必要がなくなることにも注意してください。

于 2013-01-17T22:22:18.947 に答える