java - ant ftp 任务 "Could not date test remote file"

标签 java ant ftp

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

当我在 Debug模式下启动 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 (找不到更新的版本)

我的 Ant 任务看起来像这样

  <!-- 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 任务有任何解决方案或替代方案吗?谢谢!

最佳答案

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"。可能是时间戳同步问题。

关于java - ant ftp 任务 "Could not date test remote file",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5051333/

相关文章:

java - 您如何用 Java 写入磁盘(通过刷新)并保持性能?

java - 我们如何修复这个错误? java.lang.IllegalStateException

java - Apache tomcat 还是 apache ant?

c# - 在 MVC/C# 中创建 CSV 文件并通过 FTP 上传到服务器

java - 具有webcontext的Gradle测试任务无法使用实体

java - 带有可点击链接的 JOptionPane

ant - 有没有办法在本地没有 WAS 或 RAD 的情况下使用普通 Ant 远程部署到 Websphere 6.1?

java - 如何用 ant 确定构建架构(32 位/64 位)?

ftp - 文件传输协议(protocol)选项?

ftp - 在 Sublime Text/Atom 中启用 FTP 文件树