2015-12-18 94 views
0

我正在使用JaCoCo解決與代碼覆蓋率分析相關的任務,並且需要描述Ant目標以開始掃描。實例的「Java」和「JUnit的」任務Inspite突出了紅色在下面的XML:Ant中無法識別的任務

<target name="jacoco" description="Code coverage reporting" xmlns:jacoco="antlib:org.jacoco.ant"> 
    <jacoco:coverage destfile="jacoco.exe"> 
     <java classname="org.jacoco.examples.HelloJaCoCo" fork="true"> 
      <classpath> 
       <pathelement location="./bin"/> 
      </classpath> 
     </java> 
    </jacoco:coverage> 
    <jacoco:coverage> 
     <junit fork="true" forkmode="once"> 
      <test name="org.jacoco.examples.HelloJaCoCoTest"/> 
      <classpath> 
       <pathelement location="./bin"/> 
      </classpath> 
     </junit> 
    </jacoco:coverage> 

但在同一時間的「Java」和「JUnit的」任何其他任務的認可。我對Ant缺乏經驗,所以我應該如何調整以完成這些任務?

+1

「ant -verbose」的輸出是什麼?你可以用輸出編輯你的問題。 –

+0

感謝您的回覆,構建的尾部是以下內容:BUILD FAILED C:\ ... \ build.xml:34:覆蓋率只能應用於分叉虛擬機 –

+1

該錯誤提到了構建的第34行錯誤.XML。該行上的代碼是什麼? –

回答

1

在嘗試運行它們之前,您可能沒有正確定義任務。

<project name="Example" xmlns:jacoco="antlib:org.jacoco.ant"> 

    <taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml"> 
     <classpath path="path_to_jacoco/lib/jacocoant.jar"/> 
    </taskdef> 

    ... 

    </project> 

我在javacoco的Ant任務目錄中發現了這個。請確保您在嘗試執行這些任務之前執行此操作

+0

感謝您的回覆,實際上我已經忽略了這個部分 - 在我真正的build.xml中我有這樣的taskdef。它與jacoco有關 - 但我在識別「jacoco」任務內的「java」和「junit」任務時遇到問題,而在「jacoco」之外的任務中他們被識別並正常工作。 –

+1

你可以發佈輸出。它可能會給我更多的去掉。 – slorello

+0

看起來更高,評論下我的問題 –