我有一个build.xml,它有不同的taskdef操作。
从命令行运行时我想根据需求调用taskdef动作,就像我们可以为ant目标做的那样。
我的问题是如何从命令行运行taskdef操作。在这里附加示例代码我想只从命令行运行第一个taskdef helloworld。
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="MyTask" basedir="." default="use">
<taskdef name="helloworld" classname="HelloWorld" classpath="${ant.project.name}.jar"/>
<helloworld/>
<taskdef name="helloworld1" classname="HelloWorld1" classpath="${ant.project.name}.jar"/>
<helloworld1/>
<taskdef name="helloworld2" classname="HelloWorld2" classpath="${ant.project.name}.jar"/>
<helloworld2/>
</project>
答案 0 :(得分:1)
为每项任务创建单独的目标,如下所示。请注意默认的“use”目标将如何运行所有三个任务:
<project name="MyTask" basedir="." default="use">
<target name="use" depends="helloworld,helloworld1,helloworld2"/>
<target name="helloworld">
<taskdef name="helloworld" classname="HelloWorld" classpath="${ant.project.name}.jar"/>
<helloworld/>
</target>
<target name="helloworld1">
<taskdef name="helloworld1" classname="HelloWorld1" classpath="${ant.project.name}.jar"/>
<helloworld1/>
</target>
<target name="helloworld2">
<taskdef name="helloworld2" classname="HelloWorld2" classpath="${ant.project.name}.jar"/>
<helloworld2/>
</target>
</project>