Cobertura 不适用于 Java 7

2023-12-02

我使用的是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 语法(例如多捕获)的文件,这些文件在早期插件版本中常常失败。我也不需要使用-XX:-UseSplitVerifier不再在 SureFire 插件中。

<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>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Cobertura 不适用于 Java 7 的相关文章

随机推荐