ant duplicate属性的用途是什么

时间:2013-07-28 18:36:04

标签: ant wsdl

在Ant1.8中,我有一个这样的任务:

 <jar destfile="@{destfile}.jar"
      duplicate="fail"
      manifest="@{srcfolder}/META-INF/MANIFEST.MF">       
    <fileset dir="${build_folder}/" excludes="${test_package}/**"/>
    <fileset dir="@{srcfolder}"  includes="**/*.xml" />
    <fileset dir="@{srcfolder}"  includes="**/*.properties" />
    <fileset dir="@{srcfolder}"  includes="**/*.wsdl" />
    <manifest>
       <attribute name="@{manifest-title}" value="@{manifest-name}"/>
    </manifest>
 </jar>

什么是复制=“失败”应该做什么?我一直收到这样的错误:

Duplicate file META-INF/wsdl/someWsdl.wsdl was found and the duplicate attribute is 'fail'.

wsdl应该存在,因为在构建jar之前我会执行wsimport并编译生成的类。

1 个答案:

答案 0 :(得分:0)

documentation有一节解释重复属性背后的原因:

  

请注意,zip格式允许在同一个存档中存在多个具有相同完全限定名称的文件。这已被记录为导致毫无戒心的用户的各种问题。如果您希望避免此行为,则必须将duplicate属性设置为默认值“add”。

您确定没有多个文件副本“someWsdl.wsdl”吗?