Hallo,
bin Neustarter mit Ant und habe ein Problem mit einem eigenen Task. Mein Build findet den Task nicht, so dass ich beim Run immer eine Nullpointer-Exception bekomme. Kann jemand helfen?
Hier ist mein Build.xml:
..und hier der die Datei zum Task:
bin Neustarter mit Ant und habe ein Problem mit einem eigenen Task. Mein Build findet den Task nicht, so dass ich beim Run immer eine Nullpointer-Exception bekomme. Kann jemand helfen?
Hier ist mein Build.xml:
Java:
<project name="EigenerTask" default="use" basedir =".">
<property name = "sourcedir" value="."/>
<property name="classesdir" value="classes"/>
<target name="clean" description="Delete all generated files">
<delete dir="${classesdir}" failonerror="false"/>
<delete file="${ant.project.name}.jar"/>
</target>
<target name="compile" description="Compiles the Task">
<mkdir dir="${classesdir}"/>
<javac srcdir="${sourcedir}" destdir="${classesdir}"/>
</target>
<target name="jar" description="JARs the Task" depends="compile">
<jar destfile="${ant.project.name}.jar" basedir="${classesdir}"/>
</target>
<target name="use" description="Use the Task" depends="jar">
<taskdef name="dateiLaenge" classname="DateiLaenge" classpath="${ant.project.name}.jar" />
<dateiLaenge/>
<dateiLaenge filename = "/Users/anjawegner/Documents/workspace/EigenerTask/src/calc.java"/>
<daeiLaenge/>
</target>
</project>
<project name="EigenerTask" default="use" basedir =".">
<property name = "sourcedir" value="."/>
<property name="classesdir" value="classes"/>
<target name="clean" description="Delete all generated files">
<delete dir="${classesdir}" failonerror="false"/>
<delete file="${ant.project.name}.jar"/>
</target>
<target name="compile" description="Compiles the Task">
<mkdir dir="${classesdir}"/>
<javac srcdir="${sourcedir}" destdir="${classesdir}"/>
</target>
<target name="jar" description="JARs the Task" depends="compile">
<jar destfile="${ant.project.name}.jar" basedir="${classesdir}"/>
</target>
<target name="use" description="Use the Task" depends="jar">
<taskdef name="dateiLaenge" classname="DateiLaenge" classpath="${ant.project.name}.jar" />
<dateiLaenge/>
<dateiLaenge filename = "/Users/anjawegner/Documents/workspace/EigenerTask/src/calc.java"/>
<daeiLaenge/>
</target>
</project>
..und hier der die Datei zum Task:
Java:
import org.apache.tools.ant.BuildException;
import org.apache.tools.ant.Task;
import org.apache.tools.ant.Project;
import java.io.*;
public class DateiLaenge extends Task {
private String filename;
private Project project;
public void setProject(Project proj) {
project = proj;
}
public void setFilename(String filename) {
this.filename = filename;
}
public void execute() throws BuildException {
File myFHandle = new File(filename);
String laenge = String.valueOf(myFHandle.length());
if (!myFHandle.isDirectory()){
System.out.println("Hallo Task");
String message = project.getProperty(laenge);
project.log("Dateilaenge: " + message + ".", Project.MSG_INFO);
} else
project.log("Datei ist Verzeichnis. ", Project.MSG_INFO);
}
}