Рубрики
Без рубрики

Gradle JaCoCo – Несовместимая версия 1006

– Gradle JaCoCo – Несовместимая версия 1006

Автор оригинала: mkyong.

Отчет о покрытии Gradle build + JaCoCo.

    apply plugin: 'java'
    apply plugin: 'eclipse-wtp'
    apply plugin: 'jacoco' //code coverage

    repositories {
        mavenLocal()
        mavenCentral()
    }

    jacoco {
        toolVersion = "0.7.5+"
    }

    jacocoTestReport {
	    reports {
		  html.enabled = true
		  xml.enabled = true
		  csv.enabled = false
	    }
	}

P.S Протестировано с помощью Gradle 2.10

1. Проблема

1.1 Запустите задачу jacocoTestReport и получите следующее сообщение об ошибке:

$ gradle jacocoTestReport

Выход

* What went wrong:
Execution failed for task ':jacocoTestReport'.
> Unable to read execution data file /home/mkyong/workspace/hc/analyzer/build/jacoco/test.exec

1.2 Получите дополнительную информацию с помощью опции --stacktrace .

$ gradle jacocoTestReport --stacktrace

Вывод – java.io . Исключение IOException: Несовместимая версия 1006.

Caused by: : Unable to read execution data file /home/mkyong/workspace/hc/analyzer/build/jacoco/test.exec
	at org.jacoco.ant.ReportTask.loadExecutionData(ReportTask.java:516)
	at org.jacoco.ant.ReportTask.execute(ReportTask.java:490)
	at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:292)
	at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
	at org.gradle.api.internal.project.ant.BasicAntBuilder.nodeCompleted(BasicAntBuilder.java:78)
	//...
Caused by: java.io.IOException: Incompatible version 1006.
	at org.jacoco.core.data.ExecutionDataReader.readHeader(ExecutionDataReader.java:127)
	at org.jacoco.core.data.ExecutionDataReader.readBlock(ExecutionDataReader.java:107)
	at org.jacoco.core.data.ExecutionDataReader.read(ExecutionDataReader.java:87)
	at org.jacoco.core.tools.ExecFileLoader.load(ExecFileLoader.java:59)
	at org.jacoco.ant.ReportTask.loadExecutionData(ReportTask.java:514)

2. Решение

Похоже, плагин Gradle JaCoCo несовместим с JaCoCo 0.7.5 , чтобы исправить это, понизьте JaCoCo до версии 0.7.4+

    jacoco {
        toolVersion = "0.7.4+"
    }

Для аналогичной ошибки “Несовместимая версия 100x” попробуйте понизить или обновить версию JaCoCo.

Рекомендации

  1. Gradle – Плагин JaCoCo
  2. Библиотека покрытия Java-Кода JaCoCo
  3. StackOverlow – JaCoCo SonarQube несовместимая версия 1007

Оригинал: “https://mkyong.com/gradle/gradle-jacoco-incompatible-version-1006/”