개미 작업의 일부로 2 개의 zip 파일을 만들려고합니다. 둘 다 비슷하지만 몇 가지 추가 데이터가 있습니다. 따라서 코드를 줄이려면 파일 세트를 정의하고 참조해야합니다. 유일한 문제는 오류가 발생한다는 것입니다.refid로 zip 파일을 만드는 중 오류가 발생했습니다.
작업 :
<target name="create-zips" depends="cleanup, compile, package-jar">
<zipfileset id="zipfiles">
<zipfileset dir="${ant.project.name}-dist" includes="${jarname}.jar" prefix="${title}"/>
<zipfileset dir="${scripts.dir}" includes="myprogram" filemode="755" prefix="${title}"/>
<zipfileset dir="${scripts.dir}" includes="myprogram_gui" filemode="755" prefix="${title}"/>
<zipfileset dir="${scripts.dir}" includes="myprogram_gui.command" filemode="755" prefix="${title}"/>
<zipfileset dir="${scripts.dir}" includes="myprogram.bat" filemode="755" prefix="${title}"/>
<zipfileset dir="${scripts.dir}" includes="myprogram_gui.bat" filemode="755" prefix="${title}"/>
<zipfileset dir="${docs.dir}" includes="myprogram_readme.txt" prefix="${title}"/>
</zipfileset>
<zip destfile="${deploy.dir}/myprogram_${version}.zip" whenempty="fail" defaultexcludes="true">
<zipfileset refid="zipfiles"/>
<zipfileset dir="${otherdata.dir}" includes="other/*.*" prefix="${title}"/>
</zip>
<zip destfile="${deploy.dir}/myprogram_noother_${version}.zip" whenempty="fail" defaultexcludes="true">
<zipfileset refid="zipfiles"/>
</zip>
</target>
작업이 실행됩니다 : 나는 파일이 존재하는지 확인한
create-zips:
BUILD FAILED
/path/to/my/buildfile/build-tools.xml:119: Problem opening /path/to/my/data/docs/myprogram_readme.txt
. 추가 정보를 제거하면 다른 파일에서 오류가 발생합니다. 또한 zip 파일 세트를 2 개의 별도 태그에 복사하여 붙여 넣으면 모든 것이 잘 작동합니다. 그러나 나는 그렇게하지 않을 것입니다.
편집 : 2011 년 10 월 14 일에 컴파일 된 Apache Ant (TM) 버전 1.8.2, Mac OS X 10.7. 다른 플랫폼에서 시도하지 않았습니다.
파일 세트를 중첩하는 것이 좋지만 일정량의 의미가 있습니다. 필자의 경우에는 선택기를 사용할 수 있습니다. 모든 관련 파일에 대한 상위 디렉토리가 있기 때문입니다. – node1377
하지만 그 또 다른 문제를 상기 시켰습니다. 나는 경로를자를 수 없었고 지퍼는 루트에서 내 파일까지 전체 경로를 유지했습니다. 어쩌면 그것을 어떻게 든 고칠 수있을 것입니다. – Jarekczek