在ant中显示exec任务的输出
我正在使用Ant任务扫描文件。它工作正常,但不显示scp命令的输出 下面是代码在ant中显示exec任务的输出,ant,scp,Ant,Scp,我正在使用Ant任务扫描文件。它工作正常,但不显示scp命令的输出 下面是代码 <target name="scp-jar" depends = "jar"> <exec executable="/usr/bin/scp"> <arg value="my.jar"/> <arg value="myserver:dir"/> </exec> <
<target name="scp-jar" depends = "jar">
<exec executable="/usr/bin/scp">
<arg value="my.jar"/>
<arg value="myserver:dir"/>
</exec>
</target>
要显示scp命令的文件进度输出,我必须进行哪些更改?默认情况下,命令的输出会写入标准输出,您可以指定输出属性将其更改为文件。详情如下: 但很难重定向SCP的输出。您可能希望在您的案例中使用-v标志。可以显示该信息。用户详细标志
此任务需要(jsch.jar 0.1.42或更高版本)正如@Tanuki软件所提到的,
scp
不会打印进度条
因此,问题更多地在于scp
,而不是Ant任务
我尝试使用scp
的-v
选项,但它正在显示调试信息和进度条
因此,只有两种选择
- 使用Exec任务并错过进度条。(或)
- 使用Scp任务,但它需要额外的jar,在mac中无法正常工作,并且很难使用.sshconfig文件中的默认设置
最后我选择了第一个选项。scp不会输出进度条,如果stdout不是tty,那么ant也不能重定向它@塔努克软件嗯,这就是原因。所以问题在于scp,而不是ant。我已经检查了手册。它说默认情况下输出是重新定向的,但在这种情况下不会发生。你是说scp命令的-v标志吗?我没有使用scp任务,因为它需要额外的jar。我试着设置我的mac电脑,但没能。这就是我最终使用exec任务的原因。通过额外的jar扩展jar是个好主意。为什么要重新发明轮子?