copydir
디렉토리 트리를 복사하는 데 사용 했지만 더 이상 사용되지 않습니다. 내 디렉토리에는 일부 하위 디렉토리가 포함되어 있으며 일부에는 파일이 포함되고 다른 일부에는 더 많은 하위 디렉토리가 포함되어 있습니다.
전체 트리를 복사하려면 어떻게해야합니까?
답변
<copy todir="${dest.dir}" >
<fileset dir="${src.dir}" includes="**"/>
</copy>
그것이 당신이 원하는 것을 할 것이라고 믿습니다 … (재귀 복사 완료)
답변
디렉토리 자체를 포함한 내용을 복사합니다.
<copy todir="${dest.dir}" >
<fileset dir="${src.dir.parent}">
<include name="${src.dir}/**"/>
</fileset>
</copy>
참고 : $ {src.dir}은 전체 경로가 아니라 $ {src.dir.parent}에 상대적입니다.
답변
디렉토리 만 지정하면됩니다 (include 속성 제외).
<copy todir="../new/dir">
<fileset dir="src_dir"/>
</copy>
자세한 내용과 예제 는 설명서 를 참조하십시오.
답변
디렉토리 자체를 포함한 내용을 복사합니다.
<copy todir="${dest.dir}" >
<fileset dir="${src.dir.parent}" includes="${src.dir}/**"/>
</copy>
답변
요점 : ant는 소스 파일이 대상 파일보다 최신 인 경우에만 하위 디렉토리를 복사합니다. [1] 제 경우에는 변경 사항이없고 이미 대상에 있었기 때문에 하위 디렉터리가 복사되지 않았습니다 (verbose = “true”사용 중). “덮어 쓰기”를 사용하여 강제하거나 소스 하위 디렉토리의 일부 파일을 터치 할 수 있습니다.
답변
내 build.xml 파일의 아래 코드 스 니펫에 표시된 것과 같이 include 태그를 사용하여 디렉토리 내부의 개별 jar 파일을 복사했습니다.
<target name="devInstall" depends="generateXsl" description="testing">
<copy flatten="true" todir="${test}/WEB-INF/lib" overwrite="${overwrite}">
<fileset refid="buildJars"/>
<fileset dir="lib">
<include name="commons-collections-*.jar"/>
<include name="commons-io-*.jar"/>
<include name="kodo/*.jar"/>
<include name="mail*.jar"/>
<include name="activation*.jar"/>
<include name="guava*.jar"/>
<include name="jna*.jar"/>
</fileset>
</copy>
</target>