我有一个具有不同taskdef操作的build.xml。
从命令行运行时,我想根据需求来调用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>
最佳答案
为每个任务创建一个单独的目标,如下所示。请注意默认的“使用”目标将如何运行所有三个任务:
<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>
关于java - 如何在build.xml中定义的taskdef操作列表中根据要求执行taskdef操作?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/42436020/