2011-03-16 5 views
4

개미 스크립트에서 하나의 디렉토리와 그 서브 디렉토리에있는 모든 *.java 파일을 어떻게 삭제할 수 있습니까?Ant를 사용하여 한 유형의 모든 파일을 재귀 적으로 삭제

+0

이유는 무엇입니까? 이것은 매우 위험한 것 같습니다 ... –

+0

docs에 예제가 있습니다 : http://ant.apache.org/manual/Tasks/delete.html – PeterMmm

+0

@Travis Webb - 한 가지 유스 케이스는 자동 생성 된 코드를 삭제하는 것입니다. 빌드 후 청소. –

답변

15

.java 파일을 삭제하려는 디렉토리 트리의 깊이가 약간 분명하지 않습니다. 나는 둘 다 할 수있는 방법을 제공 할 것이다.

전체 재귀는

가 반복적으로 어디서나 제공 대상 디렉토리 아래의 모든 .java 파일을 삭제합니다.

<delete> 
    <fileset dir="${basedir}/path/to/target/directory" includes="**/*.java"/> 
</delete> 

만 대상 디렉토리 내에서 과 그 하위 디렉토리

는 더 이상의 .java 지정된 대상 디렉토리에있는 파일 및 대상 디렉토리의 즉각적인 아이 인 디렉토리에 있지만,을 삭제합니다.

<delete> 
    <fileset dir="${basedir}/path/to/target/directory" includes="*.java,*/*.java"/> 
</delete> 

추가 옵션은 삭제 작업에 documentation을 참조하십시오.

주의 - - 대상 디렉토리에 대해 잘못된 디렉토리를 입력하면 원하지 않는 것을 삭제할 수 있습니다. 빌드 파일을 기준으로 대상 디렉토리에 대한 경로를 만들거나 ${basedir}으로 설정하는 것이 좋습니다.

2
<delete> 
<fileset dir="." includes="**/*.java"/> 
</delete> 

delete 작업은 현재 디렉토리와 하위 디렉토리에서 확장 된 .java 모든 파일을 삭제합니다.

-1
<delete>  
    <filename name="**/*.java"/> 
</delete> 

http://ant.apache.org/manual/Types/fileset.html

+0

-1 : Ant 1.8에서는 "파일 또는 디렉터리 특성 중 하나 이상 또는 중첩 된 리소스 컬렉션 중 하나 이상을 설정해야합니다."라는 메시지와 함께 DEPRECATED 경고 및 실패한 빌드가 발생합니다. ""필요 유효한 XML이되도록 ''내부에 있어야합니다. –

관련 문제