我有一个ANT目标,用“for”任务解压每个jar,但我想要排除一个名为Neo.jar的特定jar。这是我到目前为止所拥有的,但它解压缩了每一个可用的jar。
<target name="unzipjars">
<for param="jar">
<sequential>
<unzip dest="${expanded.dirs}" src="@{jar}">
<exclude name="Neo.jar/**"/>
</unzip>
</sequential>
</for>
</target>
我正在试图从“for param =”jar“”中排除某些东西,但我不认为这样的东西存在。 Neo.jar的“排除名称”似乎不起作用,因为我认为它不认为它是一个目录,因为它是一个罐子
答案 0 :(得分:1)
您可以使用if任务(this)过滤掉Neo.jar文件。例如
<for param="jar">
<sequential>
<if>
<not><equals arg1="@{jar}" arg2="Neo.jar" /></not>
<then><!-- unzip the jar --></then>
</if>
</sequential>
</for>
答案 1 :(得分:1)
正如您所见here,它非常容易。
您只需要将标记patternset
添加到您的配置中(并且您不需要按顺序进行迭代......)。像这样:
<target name="unzipjars">
<unzip dest="${expanded.dirs}">
<patternset>
<exclude name="**/Neo.jar"/>
</patternset>
<fileset dir="${jar}">
<include name="**/*.*"/>
</fileset>
</unzip>
</target>