2016-03-17 2 views
1

информация: версия Java: 1.8.0_66 муравей версия: 1.9.6Jacoco: не может прочитать файл данных выполнения, муравей задачи

Что я хочу сделать:

Представить отчет покрытия кода для код сервера, который выполняется на сервере AWS windows 2k12.

Что я сделал:

  • полностью Остановите сервер.
  • Поместите jacocoagent.jar в папку с корзиной сервера. Примечание: это находится внутри папки Program Files
  • Добавить -javaagent настройки в JAVA_OPTS, которые используются во время запуска сервера.
  • Запустить сервер.
  • Запустите мой образец теста с моего местного ноутбука.
  • Остановите сервер полностью. Это произвело 184kb jacoco.exec.
  • Скопировал мой файл build.xml в тот же каталог, где находится jacoco.exec. C: /path/to/exec/jacoco.exec
  • Скопировано jacocoant.jar в C: /path/to/jacocoant.jar
  • кд в C:/путь/к/Exec/и запустить команду "муравей"

Результат:

Got ошибка не может прочитать файл данных выполнения C: /path/to/exec/jacoco.exec

build.xml:

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

<description> 
    Example Ant build file that demonstrates how a JaCoCo coverage report 
    can be itegrated into an existing build in three simple steps. 
</description> 

<property name="result.dir" location="." /> 
<property name="result.classes.dir" location="${result.dir}/path/to/classes" /> 
<property name="result.report.dir" location="${result.dir}/report" /> 
<property name="result.exec.file" location="${result.dir}/jacoco.exec" /> 

<!-- Step 1: Import JaCoCo Ant tasks --> 
<taskdef uri="antlib:org.jacoco.ant" resource="org/jacoco/ant/antlib.xml"> 
    <classpath path="../jacocoant.jar" /> 
</taskdef> 

<target name="clean"> 
    <delete dir="${result.report.dir}" /> 
</target> 

<target name="report"> 
    <!-- Step 3: Create coverage report --> 
    <jacoco:report> 

     <!-- This task needs the collected execution data and ... --> 
     <executiondata> 
      <file file="${result.exec.file}" /> 
     </executiondata> 

     <!-- the class files and optional source files ... --> 
     <structure name="JaCoCo Code Coverage Report"> 
      <classfiles> 
       <fileset dir="${result.classes.dir}" > 
        </fileset> 
      </classfiles> 
      <sourcefiles encoding="UTF-8"> 
       <fileset dir="${src.dir}" /> 
      </sourcefiles> 
     </structure> 

     <!-- to produce reports in different formats. --> 
     <html destdir="${result.report.dir}" /> 
     <csv destfile="${result.report.dir}/report.csv" /> 
     <xml destfile="${result.report.dir}/report.xml" /> 
    </jacoco:report> 
</target> 

Я не уверен, что проблема с файлом exec (возможно, повреждена) или с моей всей настройкой. Любая помощь для выявления и помощи в решении проблемы оценивается !!!

Спасибо!

+0

Вы нашли ответ? –

ответ

2

У меня такая же проблема в последнее время, мне потребовалось много времени, чтобы понять это. Надеюсь, как я это исправлю, это поможет вам или кому-то еще.

  1. Используйте ant -verbose report, чтобы увидеть подробную информацию. Я использовал «ant -verbose reporst» и получил это сообщение: «java.io.IOException: Несовместимая версия 1007».
  2. Поскольку я использую maven, я добавил следующие строки в мой pom.xml. Примечание: версия совпадает с версией javaagent.

    <dependency> <groupId>org.jacoco</groupId> <artifactId>org.jacoco.ant</artifactId> <version>0.7.4.201502262128</version> </dependency>

В конце концов, отчет успешно создан.

0

Я получил это при использовании gradle и jaCoCo.

Я удалил каталог build/reer ./gradlew jacocoTestReport, на этот раз проходящий.

0

Как и решение @ sofia, но для gradle: Я удалил версию после версии инструмента. Вместо

allprojects { 
    jacoco { 
     toolVersion = '0.7.1.201405082137' 
    } 
} 

Я использовал следующие

allprojects { 
    jacoco { 
     toolVersion = '0.7.1' 
    } 
} 
Смежные вопросы