2017-03-23 2 views
0

Ant 실행 명령의 출력을 출력 속성으로 가져 와서 해당 속성을 표시하려고합니다. 우리는 명령의 출력을 볼 수 있어야합니다. 아래 코드를 사용했지만 Ant 실행 결과를 볼 수 없습니다.Ant <exec> 출력이 속성에 캡처되지 않았습니다.

<exec executable="${exe.baroverride}" 
     spawn="false" 
     failonerror="true" 
> 
    <redirector outputproperty="baroverride.out" 
     errorproperty="baroverride.err"/> 
</exec> 
<logmsg message="Bar Override Output for the bar file ${iib.build.target.bar.filename} ${baroverride.out}"/> 

답변

0

처음에는 개미에 포함 된 <logmsg> 작업이 없습니다. <logmsg>은 사용자 정의 <macrodef> 또는 <taskdef> 일 수 있습니다. 코드를 제공하지 않는 한 <logmsg>의 작동 방식에 대해 귀하를 도울 수 없습니다. <exec>baroverride.err에 썼다면

둘째는 <redirector>

<logmsg message="... ${baroverride.out}"/> 

...

<redirector outputproperty="baroverride.out" 
    errorproperty="baroverride.err"/> 

... 그러나, <logmsg> 전화는 baroverride.out 참조 ... 두 가지 속성으로 출력을 분할 , 위의 <logmsg> 전화는 그것을 표시하지 않습니다.

는 ...이 스레드에 대한 언급을 시간을내어

<exec executable="${exe.baroverride}" 
     spawn="false" 
     failonerror="true" 
     outputproperty="baroverride.out" 
/> 
<echo>baroverride.out: ${baroverride.out}</echo> 
+0

안녕 차드 덕분에 전부 <redirector>을 삭제 고려 대신 <exec>outputproperty 속성을 사용합니다. PFB 우리의 개미 매크로 정의' \t \t에 사용 된 로그 메시지의 코드 \t \t \t \t \t \t \t \t \t \t \t \t \t <형식 속성 ="logtime "패턴 ="DD-MM-yy_HH- mm-ss "/> \t\t \t \t \t <에코 레벨 = "@ 레벨 {}"메시지 = "@ 레벨 {}, $ {} logtime @ 메시지 {}"/> \t \t \t ' – user3715320