JavaFX应用程序的ANT JAR文件

时间:2012-12-10 08:02:13

标签: java ant javafx-2

我已经使用Build Script与之前的help成功编译了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。请帮助。

我正在参考以下示例 -

Example

1 个答案:

答案 0 :(得分:3)

您在项目中缺少fx:namespace声明。而不是

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

你需要这样的东西:

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

(这是您链接到的文档,前一页,§12.3 Using JavaFX Ant Tasks.