我使用Ant和Maven构建和部署我的war文件。它主要是工作的,但部署的一部分是根据存储在目录中的文件更新数据库,文件名如下:
0.0.1 0.0.2 . 0.0.9 . 1.4.51.4.11
当然,这需要进行,以便从早期版本到更新版本的脚本,例如,1.4.5需要在1.4.11之前完成
我知道您可以通过在文件集中使用反控件来进行排序,但问题是它确实按字母顺序排序,我想用数字进行排序。有什么办法吗?
我想我可以使用脚本标记对Javascript中的字符串进行排序,但是在我尝试实现之前,我想知道还有其他方法吗?
发布于 2014-06-06 12:52:40
使用排序资源收集并按名称排序,f.e。:
给予:
c:\tryme
+-0.0.1
+-0.0.2
+-0.0.3带有简单回波的片段:
<project>
<pathconvert property="sorted" pathsep="${line.separator}">
<sort>
<dirset dir="c:\tryme" />
<name/>
</sort>
</pathconvert>
<echo>$${sorted} => ${sorted}</echo>
</project>产出:
[echo] ${sorted} => c:\tryme
[echo] c:\tryme\0.0.1
[echo] c:\tryme\0.0.2
[echo] c:\tryme\0.0.3编辑
注意,在用数字对脏名(更一般的字符串)排序时,可能会得到意想不到的结果,因为使用的ASCII排序不考虑字符串中的数字值。您可以使用另一个比较器(f.e。( Alphanum算法)使用您自己的过滤器链,请参见ant手动FilterChains和过滤器阅读器。
https://stackoverflow.com/questions/24064324
复制相似问题