3

我已经在前面的帮助下使用 Build Script 成功编译了 JavaFX 代码。现在我无法为我的应用程序创建 JAR 文件 uisng ANT。我在 build.xml 中添加示例脚本。我的要求是为我的 JavaFx XYZ 应用程序创建一个简单的 JAR 文件。

<project name="XYZ" basedir=".">

<property name="WorkingFolder" location="XYZSourceData"/>
<property name="ClassPath" location="C:\Program Files\Oracle\JavaFX 2.2 Runtime\lib\jfxrt.jar;C:\Program Files\Java\jdk1.7.0_09\lib\ant-javafx.jar;"/>

<target name="init">
    <echo message="Java installation directory: ${java.home}"/>
    <!-- Create the time stamp -->
    <tstamp/>

    <delete dir="${WorkingFolder}/build"/>
    <delete dir="${dist}"/>

    <mkdir dir="${WorkingFolder}/CustomJars"/>
</target>



    <target name="Compilingxyz" depends="init">
        <mkdir dir="${WorkingFolder}/build"/>
        <taskdef resource="com/sun/javafx/tools/ant/antlib.xml"      
            uri="javafx:com.sun.javafx.tools.ant" classpath=".;C:\Program Files\Oracle\JavaFX 2.2 Runtime\lib\jfxrt.jar"/>
        <javac classpath="${ClassPath};${WorkingFolder}/CustomJars/*.jar;" srcdir="${WorkingFolder}/src/com/xyz" destdir="${WorkingFolder}/build"/>
</target>     

<target name="CreatingxyzJars" depends="Compilingxyz" description="generate the distribution" >
    <taskdef resource="com/sun/javafx/tools/ant/antlib.xml"      
            uri="javafx:com.sun.javafx.tools.ant" classpath="C:\Program Files\Java\jdk1.7.0_09\lib\ant-javafx.jar"/>

    <fx:jar destfile="${WorkingFolder}/CustomJars/XYZ.jar">
            <fx:application name="XYZ"
                mainClass="com.xyz.main.XYZEntryFX"/>
        <fx:resources>
                <fx:fileset dir="${WorkingFolder}/build" includes="${WorkingFolder}/libs/*.jar"/>
        </fx:resources>
        <fileset dir="${WorkingFolder}/resources"/>
     </fx:jar> 

</target>        

我收到以下错误 -

    BUILD FAILED
C:\Users\JavaUser4\Desktop\2012.12FX\build.xml:83: The prefix "fx" for element "
fx:jar" is not bound.

总时间:0秒

缺少的部分是什么?我有 Java 桌面应用程序。如何为 Java Fx 应用程序创建 ANT JAR。请帮忙。

我正在参考以下示例 -

例子

4

1 回答 1

3

您在项目中缺少 fx: 命名空间声明。而不是

<project name="XYZ" basedir=".">

你需要类似的东西:

<project name="XYZ" basedir="."
     xmlns:fx="javafx:com.sun.javafx.tools.ant">

(这来自您链接到的文档,前一页,§12.3 Using JavaFX Ant Tasks。

于 2012-12-10T09:39:36.287 回答