Apache Ant提供了豐富的任務來執行構建檔案操作,因此允許在Ant之外實現這些任務。 這意味著也可以使用Java程式執行任務。 使用Java實現Ant非常簡單,只需要在Java原始檔中匯入Project
,Target
和Task
名稱包。 例如:
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Target;
建立外部Ant具有以下優點和缺點。
優點
缺點
ant.jar
檔案需要位於lib路徑中。假設想要使用Java程式碼實現一個Task解壓縮,這需要zipfilepath
和destinationDir
屬性/引數。
要實現解壓縮任務,需要在原始檔中匯入org.apache.tools.ant.taskdefs.Expand
包。下面給出的範例程式碼。
import org.apache.tools.ant.Project;
import org.apache.tools.ant.Target;
import org.apache.tools.ant.taskdefs.Expand;
import java.io.File;
public class JavaTaskExample{
public static void main(String[] args){
unzip(zipFilepath, destinationDir);
}
static public void unzip(String zipFilepath, String destinationDir) {
try{
final class Expander extends Expand {
public Expander() {
project = new Project();
project.init();
taskType = "unzip";
taskName = "unzip";
target = new Target();
}
}
Expander expander = new Expander();
expander.setSrc(new File(zipfile));
expander.setDest(new File(destdir));
expander.execute();
}
}catch(BuildException e){
System.out.println(e);
}
}