2012-03-16 2 views
0

Groovy 빌드 스크립트에 다소 이상한 문제가 있습니다. 전체 프로젝트는 다른 모든 빌드 스크립트 (maven 및 ant)를 호출하는 helper groovy 스크립트를 사용합니다. 호출 그루비 스크립트에 의해 호출 된 개미 목표 중 하나는, "간부"Grails의 전쟁을 통해 호출 :grails에 대한 Ant 호출은 "[exec] 어플리케이션이 pre-Grails 0.5이고, 다음을 실행하십시오 : grails upgrade"

<exec executable="cmd" dir="${parentDir}/${grails.appname}"> 
     <arg value="/c"/> 
     <arg path="${env.GRAILS_HOME}/bin/grails.bat"/> 
     <arg value="war"/> 
     <arg value="${grails.appname}-${app.version}.war"/> 
    </exec> 

이 블록의 호출은 실패 :이 문제를 이동하는 방법을

 [exec] Application is pre-Grails 0.5, please run: grails upgrade 

어떤 제안 ?

감사합니다.

+1

응용 프로그램 디렉토리에서 'grails war'를 올바르게 실행할 수 있습니까? 이 오류는 앱 구조 내에서 무언가가 파괴되었음을 나타냅니다. –

+0

명령 줄에서 실행하면 예외입니다. 제안 된대로 업그레이드를 실행 한 후 작동합니다. –

답변

1

마침내 문제의 해결책을 찾았습니다. 이것이 최선의 방법인지는 모르겠지만 문제가 해결되었습니다. 그래서 "exec"블록과 같은 목표에서 grails.bat에서 업그레이드를 호출하는 새로운 "exec"블록을 추가했습니다. 지금까지는 매개 변수없이이 명령을 호출하면 요청한 작업을 진행할지 여부를 확인하는 질문이 생성됩니다. 개미에서는 무한 루프가 생성됩니다. 이를 피하기 위해 "-f"매개 변수를 추가했습니다. 전체 집행 블록 :

<exec executable="cmd" dir="${parentDir}/${grails.appname}"> 
     <arg value="/c"/> 
     <arg path="${env.GRAILS_HOME}/bin/grails.bat"/> 
     <arg value="upgrade"/> 
     <arg value="-force"/> 
    </exec> 

희망이 있으면 누군가에게 도움이 될 것입니다.