简体   繁体   English

cobertura maven插件不能与接口中的java8默认方法声明一起使用吗?

[英]Does cobertura maven plugin don't work with java8 Default Method declaration in interfaces?

I've declared my interface with java8 defult method declaration: 我已经用java8 defult方法声明了我的接口:

public interface MyInterface {

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

Next, i executed maven goal: 接下来,我执行了Maven目标:

mvn cobertura:cobertura

The log shows error because cobertura does not support java8 default method declaration: 该日志显示错误,因为cobertura不支持java8默认方法声明:

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

How can i fix it? 我该如何解决?

I've changed to JaCoCo maven configuration and it worked. 我已更改为JaCoCo Maven配置,并且可以正常工作。

JaCoCo Unit Tests + Reports JaCoCo单元测试和报告

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM