Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/ant/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/arduino/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 为什么我必须在ant脚本中为exec输入两次数据?_Java_Ant_Build Process - Fatal编程技术网

Java 为什么我必须在ant脚本中为exec输入两次数据?

Java 为什么我必须在ant脚本中为exec输入两次数据?,java,ant,build-process,Java,Ant,Build Process,在下面的ant build.xml代码段中,我正在执行rsync操作。rsync命令提示输入密码 问题是,当它提示输入密码时,我只输入了一次,然后按enter键,什么也没发生。所以我再次输入(第二次)并按enter键,然后它就可以工作了 对我来说很奇怪,我必须进入它两次,我不明白为什么 <!-- Define a target which publishes the final build apk to the test server. --> <target name="up

在下面的ant build.xml代码段中,我正在执行rsync操作。rsync命令提示输入密码

问题是,当它提示输入密码时,我只输入了一次,然后按enter键,什么也没发生。所以我再次输入(第二次)并按enter键,然后它就可以工作了

对我来说很奇怪,我必须进入它两次,我不明白为什么

<!-- Define a target which publishes the final build apk to the test server. -->
<target name="upload" depends="release">
        <exec executable="rsync" dir="${basedir}">
                <arg value="--stats"/>
                <arg value="--progress"/>
                <arg value="-vaz"/>
                <arg value="bin/myfile.apk"/>
                <arg value="root@target:/path/to/backupfolder"/>
        </exec>
</target>


可能在ant脚本中无法访问shell中已设置的某些环境变量值,例如RSYNC\u RSH、RSYNC\u PASSWORD。您可以通过相应的选项(如-e或--password file)设置这些变量/值,或者通过ant的env元素在任务内部设置这些变量。

行为是什么,当您直接在shell中执行同一命令时?shell中的同一命令会提示一次,并在第一次尝试时接受我的输入。我也可以在第一次提示时按enter键,然后在第二次提示中输入密码,然后接受密码。第一个类似于假的。我希望它提示我进行身份验证,这样我就没有使用-e定义预共享密钥或定义RSYNC_密码。做这两件事中的任何一件肯定会避开这个问题,但我喜欢输入上传密码的安全性。。。