Sunday, May 1, 2011

Output of java task in Ant

I have a .java file and am compiling it using javac in ant. The .class file goes to output directory. A.class when ran, produces a.txt.

How to run the ant ´java´ task and where will the a.txt go, when ran? I mean which directory? Can I specify the direc. where the output files of java task should go?

From stackoverflow
  • Take a look at this for reference:

    http://ant.apache.org/manual/CoreTasks/java.html

    It contains an example of using the Java task to run a specific class, e.g:

    <target name="run">
         <java classname="A">
                 <classpath>
                   <pathelement location="output"/>
                   <pathelement path="${java.class.path}"/>
                 </classpath>
         </java>
    </target>
    

    It really depends on where you are writing the file out to from A.java. If it is in the current directory, e.g:

    File f = new File("./test.txt");
    f.createNewFile();
    

    then it will output the file relative to where you ran the build file from.

    Hope that helps.

    jpdaigle : Also look into the "dir" attribute on the ant task. If you set fork="true", ant starts a new JVM for the program you're running. You can control its working directory by setting dir="${basedir}/whatever".

0 comments:

Post a Comment