Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.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:将目录从一个windows系统复制到另一个windows系统_Java_Windows_Ant - Fatal编程技术网

Java Ant:将目录从一个windows系统复制到另一个windows系统

Java Ant:将目录从一个windows系统复制到另一个windows系统,java,windows,ant,Java,Windows,Ant,如何使用ant将目录从windows系统复制到远程windows系统 有一个scp命令和FTP命令,请提供一个使用scp和FTP执行此任务的示例 此外,scp需要SSH,这在windows系统中并不常见 那么如何使用ant在windows系统上使用SCP呢 另外,如果您知道使用ant或java的windows系统的更好方法,请与我们分享 还有一个SC命令(不知道如何使用)您应该使用FTP在windows机器之间复制文件。还有其他协议,但是你应该使用FTP 使用FTP的示例 <ftp ser

如何使用ant将目录从windows系统复制到远程windows系统

有一个scp命令和FTP命令,请提供一个使用scp和FTP执行此任务的示例

此外,scp需要SSH,这在windows系统中并不常见

那么如何使用ant在windows系统上使用SCP呢

另外,如果您知道使用ant或java的windows系统的更好方法,请与我们分享


还有一个SC命令(不知道如何使用)

您应该使用FTP在windows机器之间复制文件。还有其他协议,但是你应该使用FTP

使用FTP的示例

<ftp server="${server.location}"
   remotedir="${directory.to.copy}"
   userid="${ftp.username}"
   password="${ftp.password}"
   depends="yes">
   <fileset dir="**Files****"/>
</ftp>

您可以进一步查看详细信息。有很多选择可以尝试

下载:

<scp file="${username}:${password}@${ip}:${path-to-file}" todir="${dir}" trust="true" />

或上传:

<scp file="${path-to-file}" todir="${username}:${password}@${ip}:${dir}" trust="true" />  

Ant scp任务提供了诸如localFile和remoteFile等属性来替换“file”,以及localTofile/localTodir和remoteTofile/remoteTodir等属性来替换“dir”。当您需要一些scp任务将文件从服务器获取到本地计算机,而其他任务将文件从本地计算机上载到服务器时,使用这些属性有助于避免混淆。
如下所示(用于上传):


查看ant手册以查看更多信息:

注:
1.避免复制多个文件;将zip存档和ant构建文件一起复制,并在目标计算机上解压缩。
2.使用scp,您需要在目标机器上设置ssh服务器;您还需要将jsch.jar放在ANT_HOME/lib中。jar可以从以下站点下载:


要使用ant scp将目录从本地主机复制到远程主机,必须指定 目录的父目录到文件集,并包括目录名,例如

<scp todir="user@hostname:/destination/dir/" keyfile="id_dsa" passphrase="abc" sftp="true" >
    <fileset dir="${parentDir}/"  >
        <include name="**/${dirToCopy}/" />
    </fileset>
</scp> 

sftp=“true”在这个主题上帮助了另一个用户,因此我将其包括在内。
在我的例子中,我认为在parentDir和dirToCopy的末尾添加“/”,这表示命令行中的目录,最后让我复制一个目录,而不仅仅是它的内容。

首先从C:\apache-ant-1.8.2\lib文件夹下载jsch-0.1.53.jar文件。然后在build.xml中包含以下代码行

<scp file="${userName}:${password}@${${ip_address}:${directory}/${FileName}" todir="${localDir_Where_to _Copy}" trust="true" />

然后在你的构建中有上面的代码行。xml

SCP需要在windows系统上使用SSH,没有SCP还有其他方法吗,这个SSH服务器是什么,我们可以下载它并设置吗?另外,我们也知道一些关于SC命令的信息,该命令由Bitvise(隧道商的供应商)在windows WinShd上支持,是一个用于windows的SSH服务器软件;OpenSSH for Windows是另一个例子。在您的服务器计算机上安装这样的软件,并将jsch放在您本地计算机的ANT-lib目录中,您将能够使用。我对SC知之甚少,但似乎SC只是一个SSH客户端。ANT任务使用jsch,一个纯JavaSSH客户端,因此您可以跳过安装任何SSH客户端软件(除非您需要在没有ANT的情况下SSH到计算机)。检查他们的产品是否有帮助。下载文件时,SCP中的“${username}:${password}@${ip}”应该是什么?只需在目标系统上使用ant copy任务和具有适当权限的文件共享,因为Windows缺少现成的ssh支持。
<scp file="${userName}:${password}@${${ip_address}:${directory}/${FileName}" todir="${localDir_Where_to _Copy}" trust="true" />