【问题标题】:ant ftp task "Could not date test remote file"ant ftp 任务“无法对远程文件进行日期测试”
【发布时间】:2011-02-19 14:33:27
【问题描述】:

我正在使用 Ant ftp 任务将我的项目文件部署到远程应用服务器。 Ant 无法检测到远程文件的日期,每次都会重新上传所有文件。

当我在调试模式下启动 Ant 时,它会说:

  [ftp] checking date for mailer.war
  [ftp] Could not date test remote file: mailer.war assuming out of date.

远程服务器是 MS FTP (Windows Vista 版本) Ant版本为1.8.2;我使用 commons-net-2.2 和 jakarta-oro-2.0.8(找不到更新的版本)

我的蚂蚁任务是这样的

  <!-- Deploy new and changed files -->
  <target name="deploy" depends="package" description="Deploy new and changed files">
    <ftp server="localhost"
          userid="" password=""
          action="send" depends="yes"
          passive="true"
          systemTypeKey="WINDOWS" serverTimeZoneConfig="Europe/Sofia"
          defaultDateFormatConfig="MMM dd yyyy" recentDateFormatConfig="MMM dd HH:mm"
          binary="true" retriesAllowed="3"
          verbose="true">
      <fileset dir="${webapp.artefacts.path}"/>
    </ftp>
  </target>

我在这里读到一篇文章:Ant:The definitive guide 说我需要 2.0.8 之后的 jakarta oro 版本才能与 MS FTP 服务器通信,我从 SVN 构建了 jakarta-oro-2.1-dev-1 并使用了它,但是我得到了同样的东西。与新图书馆或没有 oro 图书馆没有区别。我注意到 Ant lib 中有 ant-apache-oro.jar。我也试过删了,没用。也有 ant-commons-net.jar,但如果没有外部 commons-net-2.2.jar,ftp 将无法工作。很奇怪。

请问,谁能帮我解决这个问题? Ant ftp 任务的任何解决方案或替代方案?谢谢!

【问题讨论】:

    标签: java ant ftp


    【解决方案1】:

    jakarta-oro-2.0.8 是最新的官方(和稳定)版本,但 svn 存储库中有更新的开发版本:

    这里有 2.0.9-dev-1:http://svn.apache.org/repos/asf/jakarta/oro/tags/oro-2.0.9-dev-1/

    我认为 2.1-dev-1 在这里的主干:http://svn.apache.org/repos/asf/jakarta/oro/trunk/

    您必须检查它并自己构建它(我认为只需运行ant 将默认构建 jar)。要从主干检查它:

    svn co http://svn.apache.org/repos/asf/jakarta/oro/trunk/ oro
    

    编辑:你确定 MS FTP 文件日期是MMM dd HH:mm 格式吗?尝试登录您的 ftp 并执行LIST 命令。我认为它更像MM/dd/yyyy HH:mm:ss(或者可能没有秒)。

    也可以尝试添加timediffauto="true"。可能是时间戳同步问题。

    【讨论】:

    • 感谢 rodion,我构建了 2.1-dev-1 并使用了它,但我得到了同样的东西。与新图书馆、旧图书馆或没有 oro 图书馆没有区别。我注意到 Ant lib 中有 ant-apache-oro.jar。我也试过删了,没用。也有 ant-commons-net.jar,但如果没有外部 commons-net-2.2.jar,ftp 将无法工作。很奇怪。
    • 请查看我的更新回复。如果这不起作用,那么我只能建议您也尝试从分支中尝试 2.0.9-dev-1。 2.1可能有某种退化。即使它没有说明您应该在“Ant:权威指南”中使用哪个版本,但很可能它们的意思是 2.0.9。
    【解决方案2】:

    我升级到 IIS 7.5 FTP 服务,现在一切正常。感谢您的帮助。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多