2016-06-10 7 views
1

내가 java8의 defult 방법 선언 내 인터페이스를 선언했습니다 cobertura이 java8 기본 메소드 선언을 지원하지 않기 때문에cobertura maven plugin이 인터페이스에서 java8 기본 메소드 선언과 함께 작동하지 않습니까?

mvn cobertura:cobertura 

로그 오류를 보여줍니다 :

public interface MyInterface { 

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

다음을, 내가 받는다는 목표를 실행

[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> ... 
    "}" ... 
    ";" ... 
    "@" ... 
    "<" ... 

어떻게 해결할 수 있습니까?

+0

, 변경 로그의 주장은 2.1.1 지원 자바 (8)에 대한 (실제) 지원이 없다지만, 문제를보고 미해결 문제의 많은 스레드가 ... – Holger

+0

내가 대신 JaCoCo를 사용하는 것이 좋습니다 cobertura 원인 instrumentation은 자바 6 이후 더 이상 필요하지 않습니다 .... – khmarbaise

+0

Ok khmarbaise, 나는 JaCoCo를 대신 사용해 보겠습니다! –

답변

2

JaCoCo 메이븐 설정으로 바뀌 었습니다. 분명히

JaCoCo Unit Tests + Reports

+1

다중 (하위 프로젝트) 프로젝트에 대한 유용한 링크 ... –