如何通过 Ant build.xml 文件将 war 文件发送到 Windows 机器位置

How to send a war file on to a Windows machine location through Ant build.xml file

我已经设置了一个环境,我所有的 svn checkout/updating、编译、制作 war、创建所需环境的过程都是使用 Ant build.xml 完成的。我也愿意通过 Ant build.xml.

部署构建的 war 文件

我成功地使用 build.xml 将应用程序部署到 Linux 机器上,使用 SCP 任务部署到 Tomcat webapps 目录,代码如下。

<target> <scp trust="true" file="antproject1.war" 
  todir="${tomcat.username}@${tomcat.server}:${tomcat.webapps.dir}" 
  password="${tomcat.password}"/> </target>

但我不是ware 什么任务是使用什么 jar 文件添加到 ANT_HOME,将 war 文件从我的本地机器发送到远程 Windows 机器。

SCP 不受 Windows 的原生支持。

您可以安装第 3 方 SCP 服务器。尽管大多数优秀且易于安装的 SCP 服务器都是商业服务器。


仅 FTP(或 FTPS)受本机支持,特别是 Windows IIS 服务器。
请参阅 我的 指南 Installing secure FTP server on Windows using IIS

拥有 FTP 服务器 运行ning 后,使用 Ant FTP task.

<ftp server="example.com" userid="username" password="password">
  <fileset dir="path">
    <include name="antproject1.war"/>
  </fileset>
</ftp>

有关更多示例,请参阅 Ant FTP task documentation

不过请注意,不幸的是 Ant FTP 任务不支持 TLS/SSL 加密。因此,与我的指南中的建议相反,您必须允许与 IIS 的未加密连接。


如果您想使用安全连接,您必须使用 an Ant Exec task 和 运行 外部 FTPS 客户端。

例如 WinSCP:

<exec executable="winscp.com">
  <arg value="/command"/>
  <arg value="open ftps://username:password@example.com/"/>
  <arg value="put c:\localpath\antproject1.war /remote/path/"/>
  <arg value="exit"/>
</exec>

有关详细信息,请参阅 guide to WinSCP scripting

优势可能是 WinSCP 也支持 SCP(和 SFTP)协议。因此,Linux SCP/SFTP 和 Windows FTP/FTPS.

的代码可能相同(session URL 除外)

(我是WinSCP的作者)