2011-04-06 74 views
1
<?xml version="1.0"?> 
<project name="sortlist11" default="sortlist11"> 
    <taskdef resource="net/sf/antcontrib/antcontrib.properties" /> 
    <property name="my.list" value="z,y,x,w,v,u,t" /> 
    <property name="my.list1" `value="5,3,6,1,8,4,6" `/> 

    <target name="sortlist11"> 
     <sortlist property="my.sorted.list" value="${my.list}" delimiter="," /> 
     <sortlist property="my.sorted.list1" value="${my.list1}" delimiter="," /> 
     <echo message="${my.sorted.list}" /> 
     <echo message="${my.sorted.list1}" /> 
    </target> 
</project> 

這裏第二回聲打印1,3,4,5,6,6,8但我如何刪除冗餘?排序以及刪除重複

+0

我想結果爲1,3,4,5,6,8意味着沒有重新編號。請任何人幫助我預先感謝。 – picnic4u 2011-04-07 06:15:07

回答

2

通過Bean Scripting Framework在JVM中運行的每種語言都可以在ant中使用,並且可以完全訪問ant api。這裏有一個解決方案Groovy爲你的問題=

<project> 
    <taskdef name="groovy" classname="org.codehaus.groovy.ant.Groovy"/> 

    <property name="my.list" value="z,y,x,w,v,u,t"/> 
    <property name="my.list1" value="5,3,6,1,8,4,6"/> 

    <groovy> 
    properties.'my.sorted.list' = properties.'my.list'.split(',').sort().toString() 
    properties.'my.sorted.list1' = properties.'my.list1'.split(',').toList().unique().sort().toString() 
    </groovy> 

    <echo> 
    $${my.sorted.list} => ${my.sorted.list} 
    $${my.sorted.list1} => ${my.sorted.list1} 
    </echo> 
</project> 
+0

當我運行此代碼它顯示以下錯誤'taskdef類org.codehaus.groovy.ant.Groovy無法找到使用類加載器AntClassLoader []' – picnic4u 2011-04-08 08:39:12

+0

非常感謝Rebse。它現在工作正常..... – picnic4u 2011-04-08 11:25:08