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
在ant中显示exec任务的输出_Ant_Scp - Fatal编程技术网

在ant中显示exec任务的输出

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

我正在使用Ant任务扫描文件。它工作正常,但不显示scp命令的输出

下面是代码

  <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是个好主意。为什么要重新发明轮子?