首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何改变Ant排序任务中dirset/fileset的排序规则

如何改变Ant排序任务中dirset/fileset的排序规则
EN

Stack Overflow用户
提问于 2014-06-05 15:32:04
回答 1查看 1.9K关注 0票数 1

我使用Ant和Maven构建和部署我的war文件。它主要是工作的,但部署的一部分是根据存储在目录中的文件更新数据库,文件名如下:

0.0.1 0.0.2 . 0.0.9 . 1.4.51.4.11

当然,这需要进行,以便从早期版本到更新版本的脚本,例如,1.4.5需要在1.4.11之前完成

我知道您可以通过在文件集中使用反控件来进行排序,但问题是它确实按字母顺序排序,我想用数字进行排序。有什么办法吗?

我想我可以使用脚本标记对Javascript中的字符串进行排序,但是在我尝试实现之前,我想知道还有其他方法吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-06-06 12:52:40

使用排序资源收集并按名称排序,f.e。:

给予:

代码语言:javascript
复制
c:\tryme
+-0.0.1
+-0.0.2
+-0.0.3

带有简单回波的片段:

代码语言:javascript
复制
<project>

<pathconvert property="sorted" pathsep="${line.separator}">
 <sort>
  <dirset dir="c:\tryme" />
  <name/>
 </sort>
</pathconvert>

<echo>$${sorted} => ${sorted}</echo>

</project>

产出:

代码语言:javascript
复制
[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和过滤器阅读器

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/24064324

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档