如何用ant实现这个功能?

jacky_q 2008-04-24 11:52:29
用ant将文件copy到一处,发现src的文件比dest的文件新,于是在另一处dir.new又复制这些新文件.
用伪代码表述类似这样.


<target name="deploy" >
<copy todir="${dir.dest}" verbose="true">
<fileset dir="${dir.src}">
<include name="**/*.*"/>
if(file(dir.src).time > file(dir.dest)){
<copy to dir="${dir.new}">
<fileset filter="file(dir.src).time > file(dir.dest)" />
</copy>
}
</fileset>
</copy>
</target>

我比较少提问,所以很肯给分:)
...全文
128 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
fengyifei11228 2008-04-27
  • 打赏
  • 举报
回复
使用CVS或者SVN都可以实现你要的功能啊
不仅能保存你以前的文件,还可以有你最新的文件,只是以不同的版本存放
如果你不想用这样的话,在ANT中自己写的话,我帮不了忙了
呵呵呵
eimhee 2008-04-27
  • 打赏
  • 举报
回复
帮楼主顶下
eimhee 2008-04-26
  • 打赏
  • 举报
回复
我也想实现这种功能,myeclipse中也是这样实现的 帮楼主顶下
goodmrning 2008-04-26
  • 打赏
  • 举报
回复
帮楼主顶下
nanjg 2008-04-25
  • 打赏
  • 举报
回复
关键是不是求一个函数(比较2文件新旧的)
nanjg 2008-04-25
  • 打赏
  • 举报
回复
帮顶下
jacky_q 2008-04-25
  • 打赏
  • 举报
回复
加分.顶上去.
jacky_q 2008-04-25
  • 打赏
  • 举报
回复
目的:保存新文件.

fengyifei11228 2008-04-25
  • 打赏
  • 举报
回复
发现src的文件比dest的文件新,于是在另一处dir.new又复制这些新文件
你这是做什么啊,如果你打算发布N次,那么第三次,第四次是直接用${dir.new}还是${dir.new-n}
如果你想保存原有数据,可以用CVS或者SVN啊
jacky_q 2008-04-24
  • 打赏
  • 举报
回复
当然不行了,要是先clean的话,copy的时候不就把所有文件都更新,等于各个文件都是新的,完全没有实现想要的效果.
fengyifei11228 2008-04-24
  • 打赏
  • 举报
回复
可以先在copy之前把todir路径下的相应文件夹给删除了
    <target name="deploy"  depends="clean" > 
<copy todir="${dir.dest}" verbose="true">
<fileset dir="${dir.src}">
<include name="**/*.*"/>
if(file(dir.src).time > file(dir.dest)){
<copy to dir="${dir.new}">
<fileset filter="file(dir.src).time > file(dir.dest)" />
</copy>
}
</fileset>
</copy>
</target>

<!-- 清理目录 -->
<target name="clean" description="清理部署目录">
<delete dir="${dir.dest}" />
<echo level="info">清理完毕</echo>
</target>

81,094

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧