Java 如何根据build.xml中定义的taskdef操作列表中的需求执行taskdef操作?

Java 如何根据build.xml中定义的taskdef操作列表中的需求执行taskdef操作?,java,ant,taskdef,Java,Ant,Taskdef,我有一个build.xml,它有不同的taskdef操作 在从命令行运行时,我希望根据需求调用taskdef操作,就像我们可以为ant目标所做的那样 我的问题是如何从命令行运行taskdef操作。在这里附加示例代码,我只想从命令行运行第一个taskdef helloworld <?xml version="1.0" encoding="ISO-8859-1"?> <project name="MyTask" basedir="." default="use">

我有一个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>

为每个任务创建一个单独的目标,如下所示。请注意默认的“使用”目标将如何运行所有三个任务:

<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>


难道我们不能将所有taskdef都放在一个目标中,并根据需要运行它们吗?@kethansriniva如果您将它们都放在一个目标中,那么它们将一起运行。我以为关键是能够单独运行它们?因此有多个目标:例如“ant helloworld1”