将值传递给远程ant目标

时间:2015-04-21 20:28:39

标签: ant

我在Windows和Linux机器上分别有两个ant文件,分别是 antFile1.xml antFile2.xml

antFile1.xml

<target name="executeOnLinux">
        <sshexec 
            host="${remote.host.ip}" 
            username="${remote.user.id}" 
            password="${remote.user.ssh.password}" 
            command="ant -f antFile2.xml 'linuxAntTarget'"
            trust="true"/>
</target>

antFile2.xml

<target name="linuxAntTarget">
        <input message="Enter application edition number" addproperty="editionNo"/> 
        <echo message="${editionNo}"/>
</target>

当我从我的 antFile1.xml 执行名为“ executeOnLinux ”的目标时,它连接到linux机器并开始执行“ linuxAntTarget < / strong>“来自 antFile2.xml 文件。但是,一旦达到需要用户输入的点,就会一直等待,因为我无法传递输入。我的问题是如何将价值传递给它?这甚至可能还是有其他更好的方法吗?

1 个答案:

答案 0 :(得分:0)

自Ant 1.9.4起,sshexec任务提供了useSystemIn属性:

  

是否将当前标准输入传递给远程进程,默认为false

您也可以尝试同一任务中的input属性:

  

执行命令的标准输入的文件。此属性与inputstring和inputproperty属性互斥。   通过commandResource执行多个命令时,将为每个命令读取输入。 自Ant 1.8.0