ant能否用来下载FTP文件?如果可以,如何使用?
[b]问题补充:[/b]
我说的是下载,不是上传。
也不要说使用可以下载,我这里下载针对FTP,并且不使用java程序编写!
下载如何来做,或者不能做?
[b]问题补充:[/b]
老大,我是要Download,不是upload~!都资深程序员,不要吝啬,教一哈啊!
[b]问题补充:[/b]
receive is not a legal value for this attribute!
加了action以后居然说receive是不合法的,这又是为什么呢?
[b]问题补充:[/b]
高手,还在么,能否解决这个问题,我看了这么久实在是没什么招~~~!,在加上对ant做FTP上传下载不是很熟悉,能否解决这个receive is not a legal value for this attribute!
userid="${username}"
port="${port}"
password="${password}"
remotedir="${remotedir}"
depends="yes"
verbose="yes"
action="receive">
然后就报错了,那个fileset是从upload中抄来的,那么是否就是在这里设置要下载的文件的类型和下载后存放的路径??
[b]问题补充:[/b]
刚去百度了一下,有这样的记录:
ftp 的 action 包括: put, get, del, list, chmod, mkdir and rmdir
换成get以后,果真没有这个问题了,官方的文档,我没下。谢谢了。不过又有了个新的问题。
build.xml:44: error during FTP transfer: org.apache.c
ommons.net.MalformedServerReplyException: Could not parse response code.
Server Reply: SSH-2.0-OpenSSH_4.3
这是个什么问题,好像是网络安全的问题,不知道你有没有碰到过这个问题呢?
[b]问题补充:[/b]
是不是还要设置登录类型,我用的FileZilla,登录FTP的时候,选用的是一般类型,还有匿名,询问密码,交互式,账号这四种类型,一共是五种类型。不清楚是否是这个原因呢?
[b]问题补充:[/b]
非常感谢!
貌似是说你的ftp是SSH连接?
呃..下班了.你看看官方的介绍,他下面有很多例子可以参考.
可以的
Ant本身包含了很多预先定制的task,这些task用于执行各种各样的构建相关任务,FTP task就是其中的一个。FTP task实际上是在ant中实现了一个可以进行常用FTP操作(send, receive, list, delete files, and create directories)的客户端。在实际项目中,很有可能会遇到需要大量FTP任务的操作,这时使用FTP task会比使用可视化的FTP工具(如CuteFTP)效率高很多,因为使用可视化的FTP工具,你必须在不同的目录中切换,即使使用书签,也需要在不同的书签中切换,而使用FTP task只需定义好对应的本地目录和远程FTP服务器上的路径,简单运行ant就可以搞定一切。
具体可以查看
[url]http://hi.baidu.com/gordian/blog/item/1fc290df3d1ace5fcdbf1a08.html[/url]
上面第一篇介绍的是如何配置部署,简单的说,FTP task属于可选的task,因此,我们要正常使用FTP task必须先下载FTP task相关jar包commons-net-2.0.zip。
[url]http://hi.baidu.com/gordian/blog/item/4cc979ae4d5e6afcfaed5041.html[/url]
第二篇介绍了如何写ant文件来做ftp操作,如:
[code="xml"]<?xml version="1.0" encoding="UTF-8"?>
[/code]
我给你的这个范例是上传的..但是其实你仔细看下教程上面的参数说明:
一个FTP task以来表示,包含很多属性用于配置任务:
server、port属性设置FTP的地址和连接使用的端口。
userid、password属性设置连接FTP时使用到的用户名和密码。
remotedir属性设置要访问的FTP远程目录,如果remotedir没有设置,则默认为FTP上登录用户的默认目录。
depends属性如果设置成yes/true的话,表示只传送更改过的文件,默认值为no/false。
verbose属性如果设置成yes/true的话,在FTP任务执行的时候,会打印出所有传送文件的列表信息,默认值为no/false。
我们发现代码中,并没有指明这个FTP任务是要执行什么操作,但其实这个FTP任务是执行上传操作。FTP task有一个action属性,用于指明执行哪种FTP操作(send, receive, list, delete files, and create directories),当未设置action属性时,默认是执行send(上传)操作,你可以设置这个属性执行你想要的操作。
你只要给这个task加一个action属性,就可以指定操作了.
[code="xml"]
[/code]
[code="xml"]
[/code]
我找到了ant官方关于ftp的具体用法案例,参考这个网页:
[url]http://ant.apache.org/manual/OptionalTasks/ftp.html[/url]
原来它参数名字改掉了,你改成get试试看.不用receive