2016-06-10 7 views
1

ich meine Schnittstelle mit java8 defult Methodendeklaration deklariert haben:Funktioniert das Cobertura Maven Plugin nicht mit Java8 Default Method Deklaration in Interfaces?

public interface MyInterface { 

    default String myMethod(String str) { 
     //IMPLEMENTATION 
    } 
} 

Als nächstes ausgeführt i Maven Ziel:

mvn cobertura:cobertura 

Das Protokoll zeigt Fehler, da cobertura nicht java8 Standardmethode Erklärung unterstützt:

[INFO] Executed tasks 
[INFO] 
[INFO] <<< cobertura-maven-plugin:2.7:cobertura (default-cli) < [cobertura]test @ extractor <<< 
[INFO] 
[INFO] --- cobertura-maven-plugin:2.7:cobertura (default-cli) @ extractor --- 
[INFO] Cobertura 2.1.1 - GNU GPL License (NO WARRANTY) - See COPYRIGHT file 
[INFO] Cobertura: Loaded information on 134 classes. 
[WARN] JavaNCSS got an error while parsing the java file <PATH_TO_MY_INTERFACE>\MyInterface.java 
ParseException in STDIN 
Last useful checkpoint: "path.to.my.class.MyInterface" 
Encountered " "default" "default "" at line 10, column 9. 
Was expecting one of: 
    "abstract" ... 
    "boolean" ... 
    "byte" ... 
    "char" ... 
    "class" ... 
    "double" ... 
    "enum" ... 
    "final" ... 
    "float" ... 
    "int" ... 
    "interface" ... 
    "long" ... 
    "native" ... 
    "private" ... 
    "protected" ... 
    "public" ... 
    "short" ... 
    "static" ... 
    "strictfp" ... 
    "synchronized" ... 
    "transient" ... 
    "void" ... 
    "volatile" ... 
    <IDENTIFIER> ... 
    "}" ... 
    ";" ... 
    "@" ... 
    "<" ... 

Wie kann ich es beheben?

+0

Anscheinend gibt es keine (echte) Unterstützung für Java 8. Die CHANGELOG Ansprüche mit 2.1.1 unterstützen, aber es gibt viele offene Fragen und Themen Probleme berichten ... – Holger

+0

Ich würde empfehlen, JaCoCo zu verwenden, anstatt cobertura Ursache Instrumentierung wird nicht mehr benötigt, da Java 6 .... – khmarbaise

+0

Ok khmarbaise, ich werde den JaCoCo stattdessen versuchen! –

Antwort

2

Ich habe auf JaCoCo Maven-Konfiguration geändert und es hat funktioniert.

JaCoCo Unit Tests + Reports

+1

Toller Link für Multi- (Teilprojekt) -Projekte ... –