Ant提供了丰富的task,这些task是由apache ant项目组开发、维护的,经过所有使用人员的测试,功能很稳定,同时具有跨平台的特性。所以当一个程序员开发某些功能时,如果Ant的task中包含这些功能,那么可以直接引用这个功能,ant的机制可以简单方便的将Ant的task应用到java程序中。
以下是一个示例,这个示例,将f:\study\Test1目录打成f:\study\mytest.jar 包。 package mytest;
import org.apache.tools.ant.*; import org.apache.tools.ant.taskdefs.*; import org.apache.tools.ant.types.*; import java.io.File;
public class TestJar { public TestJar() { } public static void main(String[] args) { TestWar testWar1 = new TestWar(); testWar1.jar(); }
public static void jar() { final class Jarer extends Jar { public Jarer() { project = new Project(); project.init(); taskType = "jar"; taskName = "jar"; target = new Target(); } }
Jarer jar = new Jarer(); jar.setDestFile(new File("f:\\Study\\mytest.jar")); jar.setBasedir(new File("f:\\Study\\Test1"));
jar.execute();
}
} 在这个示例中,应用了Ant任务中的Jar类,从这个类继承了一个新的类Jarer, Jarer类的功能就是创建Project和Target对象。 在以后的使用过程中,可以直接创建Jarer类的对象,然后设置Jarer的参数,最后调用Jarer的execute()方法。
附注:以上示例程序的编译、运行,仅需要将Ant的ant.jar包增加到classpath路径中。 
|