作者热门文章
- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在使用 maven 3.0.4,JRE 1.7.0_09
.当我使用 mvn clean install
我所有的测试都通过了,一切看起来都很好——这是我的 surefire 插件配置:
<plugin>
<version>2.12.4</version>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<configuration>
<!-- -XX:-UseSplitVerifier is for java 7 -->
<argLine>-XX:-UseSplitVerifier</argLine>
</configuration>
</plugin>
现在,当我 mvn cobertura:cobertura
我的一些测试有这样的错误:
Expecting a stackmap frame at branch target ....
还有一些错误让我明白它没有使用 JRE7 运行(例如,Encountered " "|" "| "" at line...
)
这是我的 cobertura 插件配置:
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
报告是:
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<formats>
<format>html</format>
<format>xml</format>
</formats>
</configuration>
</plugin>
</plugins>
</reporting>
我看到了很多 threads讨论这个问题的解决方案是添加此行 <argLine>-XX:-UseSplitVerifier</argLine>
但这没有帮助。
我在这里做错了什么?
最佳答案
我们在 Java 7 中使用 Cobertura 插件版本 2.6,没有任何问题。这包括一些具有 Java 7 语法(例如 multi-catch)的文件,这些文件过去常常因较早的插件版本而失败。我也不再需要在 SureFire 插件中使用 -XX:-UseSplitVerifier
。
<properties>
<coberturaMavenPlugin>2.6</coberturaMavenPlugin>
<mavenSurefirePlugin>2.12</mavenSurefirePlugin>
</properties>
<build>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-surefire-plugin</artifactId>
<version>${mavenSurefirePlugin}</version>
</plugin>
</plugins>
</pluginManagement>
</build>
<reporting>
<plugins>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<version>${coberturaMavenPlugin}</version>
<configuration>
<aggregate>true</aggregate>
</configuration>
</plugin>
</plugins>
</reporting>
关于java - Cobertura 不适用于 Java 7,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17133717/
我是一名优秀的程序员,十分优秀!