cobertura maven插件是否不';在接口中不能使用java8默认方法声明?
我已经用java8 defult方法声明了我的接口:cobertura maven插件是否不';在接口中不能使用java8默认方法声明?,java,maven,java-8,maven-cobertura-plugin,Java,Maven,Java 8,Maven Cobertura Plugin,我已经用java8 defult方法声明了我的接口: public interface MyInterface { default String myMethod(String str) { //IMPLEMENTATION } } [INFO] Executed tasks [INFO] [INFO] <<< cobertura-maven-plugin:2.7:cobertura (default-cli) < [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> ...
"}" ...
";" ...
"@" ...
"<" ...
接下来,我执行了maven目标:
mvn cobertura:cobertura
日志显示错误,因为cobertura不支持java8默认方法声明:
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> ...
"}" ...
";" ...
"@" ...
"<" ...
[INFO]执行的任务
[信息]
[INFO]我已更改为JaCoCo maven配置,它工作正常
显然,对Java 8没有(真正的)支持。CHANGELOG声称支持2.1.1,但是有很多未解决的问题和线程报告问题…我建议使用JaCoCo而不是cobertura,因为自从Java 6以来不再需要插装…好的,khmarbaise,我将尝试JaCoCo!