2014-02-27 3 views
0

파일이 존재하지 않을 때 클래스 경로에 일부 속성 파일을 복사해야한다는 시나리오가 고착되었습니다.Maven ANT 파일이 존재하지 않을 때 테스트 중에 파일을 복사합니다.

우리는 파일을 복사하고 빌드하는 데 maven ant 태스크를 사용하고 있습니다.

우리는 어떤 복사 작업을 아래와 같이 사용하고 있습니다 :

<copy file="src/systemConfig.properties" tofile="src/test/resources/systemConfig.properties" /> 

이 복사 작업 파일이 아닌 종료 또는 이명 령 파일이 SRC 파일보다 오래된 작업을 수행 할 때 dest로하는 SRC 파일을 복사합니다.

그러나 파일이없는 경우에만 사본을 만들어야합니다.

도와 주시겠습니까?

+1

있습니까? 테스트 단계 전에 모든 테스트 리소스가 빌드 디렉토리'test-classes' 디렉토리에 복사되므로 파일 내용을 변경하더라도 다음 빌드에서 리소스가 복원됩니다. 그렇다면'src/test/resources'에'src' 파일을 직접 두는 것은 어떻습니까? 빌드 할 때 소스 디렉토리를 엉망으로 만드는 것은 나쁜 생각입니다. 빌드 디렉토리가 필요한 것입니다. –

+0

내가 받는다는-antrun - 플러그인 버전 1.7 과 때라도 실행 코드를 사용하고 복사 시스템 설정 프로세스 테스트 소스 <구성> \t \t \t \t <파일을 복사 = = "SRC/테스트/자원/systemConfig.properties"TOFILE "유물/ENV/통합/systemConfig.properties"/> \t \t \t \t \t \t \t 실행

+0

당신은 정확하게 이미 당신이 필요 않는 메이븐을 사용하는 방법을 설명 앞의 설명을 이해하지 못했다. 그래서 anttask 필요가 없습니다. 그 외에도 통합 테스트가있는 경우 maven-failsafe-plugin을 사용해야하며 ant taks를 통해 파일을 복사하는 다른 방법은 잘못된 방식입니다. – khmarbaise

답변

0

사용이 : 당신이 메이븐을 올바르게 사용하고 있는지

<if> 
    <available file="src/test/resources/systemConfig.properties"/> 
    <then> 
     <copy file="src/systemConfig.properties" tofile="src/test/resources/systemConfig.properties" /> 
    </then> 

</if> 

Answer is already here on stackoverflow

+0

Rahul에 대한 응답을 보내 주셔서 감사합니다. 응답 파일에 복사를 제안했습니다. 우리는 maven-antrun-plugin 버전 1.7을 사용하고 있습니다. –

+0

@Prasobh .K 복사 본은 귀하가 사용하는 것과 같습니다. 현재 사용하고있는 파일을 확인하고 싶은 파일이 있는지 확인하십시오. – Rahul

+0

내가 확인하고 싶다면, tofile ie.destination file..if 대상 파일이 존재하지 않습니다. 원본을 대상에 복사해야합니다. –

관련 문제