如何在Apache Ant FTP Task中配置chmod?perm属性不支持报错怎么解决
Apache Ant FTP Task 配置perm属性报错解决方案
问题原因
- Ant FTP可选任务依赖缺失:FTP任务不属于Ant核心功能,需要额外依赖
commons-net、jakarta-oro两个Jar包,依赖缺失或版本不匹配时,会无法识别perm属性 - 配置结构错误:chmod动作必须指定要修改权限的目标文件集合,自闭合的ftp标签未关联文件集也会触发属性识别异常
- 版本兼容问题:Ant 1.6及更早版本的FTP任务原生不支持
perm属性,需要升级到Ant 1.7+,配套使用commons-net 2.0+版本
解决步骤
- 补全依赖:下载对应版本的
commons-net.jar和jakarta-oro.jar,放入Ant安装目录的lib文件夹中 - 使用正确的配置结构,参考示例:
<ftp action="chmod" server="ftp.apache.org" userid="anonymous" password="me@myorg.com" remotedir="some/remote/dir" perm="755"> <!-- 定义要修改权限的文件范围,示例为修改远程目录下所有文件 --> <fileset> <include name="**/*" /> </fileset> </ftp>
替代方案
如果服务器支持SSH连接,可使用sshexec任务直接执行远程权限修改命令,兼容性更强:
<sshexec host="ftp.apache.org" username="你的服务器账号" password="你的服务器密码" command="chmod -R 755 /some/remote/dir/*" />
内容的提问来源于stack exchange,提问作者iwayqa
相关产品推荐
相关产品推荐

