0

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="fail" は何をすべきですか? 次のようなエラーが発生し続けます。

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

jar をビルドする直前に wsimport を実行し、生成されたクラスをコンパイルするため、wsdl はそこにあるはずです。

4

1 に答える 1

0

ドキュメントには、重複属性の背後にある理由を説明するセクションがあります。

zip 形式では、同じ完全修飾名の複数のファイルが 1 つのアーカイブ内に存在できることに注意してください。これは、疑いを持たないユーザーにさまざまな問題を引き起こすことが文書化されています。この動作を回避したい場合は、複製属性をデフォルトの「追加」以外の値に設定する必要があります。

ファイル「someWsdl.wsdl」のコピーが複数ありませんか?

于 2013-07-28T22:43:06.220 に答える