Question

I already read the documentation, but I can't find to make it work, I'm working with latest JDK/Eclipse/Debian.

Here is my build.xml

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

<property name="src.dir" location="src" />
<property name="build.dir" location="build" />
<property name="dist.dir" location="dist" />
<property name="docs.dir" location="docs" />
<property name="application.vendor.dir" location="Comelecinca" />
<property name="application.title.dir" location="PMRx" />
<property name="build.classes.dir" location="build/classes" />
<property name="certification.dir" location="/home/rafael/Workspace/Certification" />
<property name="application.title" location="Sistema de Monitoreo Remoto" />

<target name="default">

    <taskdef resource="com/sun/javafx/tools/ant/antlib.xml" uri="javafx:com.sun.javafx.tools.ant"
        classpath=".:/usr/lib/jvm/java-7-oracle/lib/ant-javafx.jar" />

    <!-- Details about application -->
    <fx:application id="PMRx" name="Sistema de Monitoreo Remoto"
        mainClass="pmrx.Ventana" />

    <!-- Define what auxilary resources are needed -->
    <fx:resources id="appRes">
        <fx:fileset dir="dist" includes="lib/*.jar" />
    </fx:resources>


    <fx:jar destfile="${dist.dir}/pmrx.jar">

        <!-- Define what to launch -->
        <fx:application refid="PMRx" />

        <!-- Define what classpath to use -->
        <fx:resources refid="appRes" />

        <manifest>
            <attribute name="Implementation-Vendor" value="${application.vendor}" />
            <attribute name="Implementation-Title" value="${application.title}" />
            <attribute name="Implementation-Version" value="1.0" />
        </manifest>

        <!-- Define what files to include -->
        <fileset dir="${build.classes.dir}" />
    </fx:jar>

    <fx:signjar keyStore="${certification.dir}/sopc.crt"
        destdir="dist" alias="comelecinca" storePass="951753" keyPass="951753">
        <fileset dir='dist/*.jar' />
    </fx:signjar>

    <fx:deploy outdir="${dist.dir}" embedJNLP="true"
        outfile="${application.title}">
        <fx:application refId="PMRx" />

        <fx:resources refid="appRes" />

        <fx:info title="Sample app: ${application.title}" vendor="${application.vendor}" />

        <!-- Request elevated permissions -->
        <fx:permissions elevated="true" />
    </fx:deploy>

</target>

Here is the error I get:

BUILD FAILED
/home/rafael/Workspace/PMRx/build.xml:19: All filesets are empty.

Which would correspond to the line:

<fx:jar destfile="${dist.dir}/pmrx.jar">
Was it helpful?

Solution

Solved: The problem was that I was indicating an empty path for the files to include during the fx:jar process.

Just to clarify, what was confusing was that the error was pointing to line 19. But it just tells that the whole block of XML (starting at line 19) is where the error is, and in fact the problem was in one of the internal sections, in this specific case, the problem was:

<fileset dir="${build.classes.dir}" />

I just changed the parameter of dir to where I really host my .class files, and problem solved.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top