Ant 外部任务
Apache Ant提供了丰富的任务集来执行buildfile操作,因此允许我们在Ant外部实现这些任务。这意味着我们也可以使用Java程序执行任务。使用Java实现Ant很容易。我们只需要在Java源文件中导入项目,target和任务名称包。例如:
import org.apache.tools.ant.Project; import org.apache.tools.ant.Target;
在Ant外部创建具有它的优点和缺点,如下所述。
优点
- 健壮性是Ant的最大优势。Ant任务可以掩盖错误并提供良好的边界条件。 Ant任务在各种上下文中使用,并且能够处理异常和控制流。
- 跨平台是另一个优势,它允许在所有平台上执行,无论是UNIX,Windows还是MacOS。
- Ant的社区使我们能够与开放世界分享和理解。整个Apache Ant社区都支持Ant代码。
缺点
如果Java源正在实现它,我们需要包括Ant?s库。 ant.jar文件必须位于lib路径中。
不容易修改,需要大量时间和精力。尽管它是开源的并且拥有世界一流的社区,它将有助于解决,但是用Java编写的代码经过很长时间后不容易更改。
Ant Java示例
假设我们要使用Java代码来实现一个 unzip 任务,该任务需要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); } }
Ant Argument Processor是一个命令行处理器插件。第三方参数还可以具有修改Ant行为的自定义命令行参数。它调用每当Ant处理参数时。 Ant的参数始终优先于ArgumentProcessor参数。我们可 ...