我正在使用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说我需要一个版本的jakarta oro AFTER 2.0.8与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任务的任何解决方案或任何替代方案?谢谢!
答案 0 :(得分: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"
。它可能是时间戳同步问题。
答案 1 :(得分:1)
我升级到IIS 7.5 FTP服务,现在一切都很好。谢谢你的帮助。