2012-11-28 50 views
0

所以我有一大堆的罐子在目录中的看起来像这样: 复制与蚂蚁最近的文件


library_2.4.3.jar 2/3/2012 
library_3.0.1.jar 9/1/2012 
api.lib_10.3.jar 3/2/2011 
api.lib_12.4.5.jar 6/9/2012 

我已经写了下面的使用Ant 1.7复制罐子的地方,我希望他们和从文件中删除版本号

<copy todir="${lib.dir}" overwrite="true"> 
    <fileset dir="${plugins.dir}">    
     <include name="library*.jar" /> 
     <include name="api.lib*.jar" /> 
    </fileset> 
    <regexpmapper from="(.*)_(.*).jar" to="\1.jar"/> 
</copy> 

我遇到的问题是我希望它复制文件的较新版本。现在,它似乎只复制较旧的文件。我查看了<sort><TimestampSelector>任务,但这些任务在复制任务下不受支持。

如何复制文件的较新版本?

+0

试试这个http://stackoverflow.com/questions/6154641/ant-copy-newest-file-with-file-name-filter – Vishal

+0

我试过,但我得到一个'副本不支持嵌套“最后“元素”错误 – Spacebob

+0

您使用的是什么版本的蚂蚁? – Vishal

回答

0

不要把它们复制任务下直接...创建属性,并在副本标签使用属性...

<timestampselector property="latest.modified"> 
    <path> 
    <fileset dir="${my-directory.dir}"> 
     <include name="file-*" /> 
    </fileset> 
    </path> 
</timestampselector> 

<copy todir="." file="${latest.modified}"> 

希望,它的工作原理。