2013-03-29 2 views
2

ANT를 사용하여 두 개의 jar 파일의 파일 수를 확인합니다. 동일한 패턴의 파일이 있는지 여부를 확인할 수 없습니다.ANT를 사용하여 여러 파일이 존재하는지 확인하십시오.

/host/user/dir1/ABC1.txt 및 /host/user/dir1/ABC2.txt와 같은 두 개의 파일이 있습니다.

이제 "/ host/user/dir1/ABC *"패턴의 파일이 존재하는지 여부를 확인하고 싶습니다.

사용 가능한 태그를 사용하여 개별 파일 /host/user/dir1/ABC1.txt를 확인할 수는 있지만 특정 패턴의 파일을 확인할 수는 없습니다.

미리 감사드립니다.

<if> 
    <available file="${client.classes.src.dir}/${class_to_be_search}.class"/> 
    <then> 
     <echo> File ${client.classes.src.dir}/${class_to_be_search}.class FOUND in src dir 

     </echo> 
     <echo> Update property client.jar.packages.listOfInnerClass</echo> 
    </then> 
    <else> 
     <echo> File ${client.classes.src.dir}/${class_to_be_search}.class NOT FOUND  in src dir. 
     </echo> 
    </else> 
</if> 

하지만 난 여러 파일을 검색하려면 : 개별 파일에 대한

는, 다음은 잘 작동 같은 일 :. $ {dir.structure}/$ {class_to_be_search} $ * 클래스를

+0

당신은 당신이 실제로 (개별 파일 확인이 하나)를 사용하여 코드를 추가 할 수 있습니다 : 대상의 실행은 "file.found"속성이 설정되어있는 방법에 대한 이후 조건인가? 개별 파일에 대한 – pepuch

+0

는 다음 잘 작동합니다 : <사용 가능한 파일 = "$ {client.classes.src.dir}/$ {class_to_be_search}을 .class"/> 파일 $ {dir.structure을 }/$ {class_to_be_search} .class src 디렉토리에 존재합니다. 업데이트 속성 client.jar.packages.listOfInnerClass 파일 $ {client.classes.src.dir}/$ {class_to_be_search}을 .class의 src 디렉토리에서 찾을 수 없습니다. 나는 $ {dir.structure}/$ {class_to_be_search} $ *. 클래스 –

+0

편집 질문을 검색하고 거기 붙여 넣을. 이 형식을 읽을 수있는 형식으로 지정하는 것을 잊지 마십시오. – pepuch

답변

3

if task은 핵심 ANT의 일부가 아닙니다.

다음 예는 ANT condition task을 사용하여 수행 할 수있는 방법을 보여줍니다. 파일 세트에서 원하는 패턴을 사용할 수 있습니다.

<project name="demo" default="run"> 

    <fileset id="classfiles" dir="build" includes="**/*.class"/> 

    <condition property="file.found"> 
     <resourcecount refid="classfiles" when="greater" count="0"/> 
    </condition> 

    <target name="run" depends="found,notfound"/> 

    <target name="found" if="file.found"> 
     <echo message="file found"/> 
    </target> 

    <target name="notfound" unless="file.found"> 
     <echo message="file not found"/> 
    </target> 

</project> 
+0

기본적으로 target = "run"을 지정했습니다. 즉, 기본적으로 실행됩니다. 권리? 이 "실행"타겟은 발견 된/발견되지 않은 타겟에 의존하며, 타겟은 "file.found"조건을 사용합니다. 이 조건 작업이 실행되고 file.found = true/false를 설정할 때를 알고 싶습니까 ?? –

+0

@MayurSharma 이는 "조건"작업의 목적입니다. 빌드가 초기화되고 속성을 설정할 때 실행됩니다. 이 속성은 "발견 된"대상과 "발견되지 않은"대상이 모두 수행하는지 여부를 제어합니다. –