java - 使用 Maven 3.5 运行 jacoco 检查目标

标签 java maven jacoco jacoco-maven-plugin

我在 pom 中的 jacoco 插件配置如下

<plugin>
            <groupId>org.jacoco</groupId>
            <artifactId>jacoco-maven-plugin</artifactId>
            <version>0.7.5.201505241946</version>
              <executions>
                <execution>
                  <id>pre-unit-test</id>
                  <goals>
                      <goal>prepare-agent</goal>
                  </goals>
                  <configuration>
                    <destFile>${jacoco.ut.execution.data.file}</destFile>
                  </configuration>
                </execution>
                <execution>
                  <id>merge-execs</id>
                  <phase>pre-site</phase>
                  <inherited>false</inherited>
                  <goals>
                      <goal>merge</goal>
                  </goals>
                  <configuration>
                   <fileSets>
                     <fileSet>
                       <directory>${basedir}</directory>
                       <includes>
                         <include>**/target/*.exec</include>
                       </includes>
                     </fileSet>
                   </fileSets>
                    <destFile>${jacoco.ut.merged.exec}</destFile>
                  </configuration>
                </execution>
                  <execution>
                      <id>jacoco-check</id>
                      <phase>verify</phase>
                      <goals>
                          <goal>check</goal>
                      </goals>
                      <configuration>
                          <rules>
                              <rule>
                                  <element>BUNDLE</element>
                                  <limits>
                                      <limit>
                                          <counter>LINE</counter>
                                          <value>COVEREDRATIO</value>
                                          <minimum>0.80</minimum>
                                      </limit>
                                  </limits>
                              </rule>
                          </rules>
                          <dataFile>${jacoco.ut.merged.exec}</dataFile>
                      </configuration>
                  </execution>
             </executions>
         </plugin>

但是当我运行 mvn jacoco:check 时,它失败并出现以下错误

[ERROR] Failed to execute goal org.jacoco:jacoco-maven-plugin:0.7.5.201505241946:check (default-cli) on project main: The parameters 'rules' for goal org.jacoco:jacoco-maven-plugin:0.7.5.201505241946:check are missing or invalid -> [Help 1]

有人可以告诉我出了什么问题吗?

最佳答案

您观察到的行为并非特定于 jacoco-maven-plugin ,这就是 Maven 的工作方式 - 请参阅 https://maven.apache.org/guides/mini/guide-default-execution-ids.html

mvn jacoco:check

使用执行 ID default-cli ,而您的pom.xml定义执行中的配置,id为 jacoco-check绑定(bind)到相verify .

所以要么使用这个阶段:

mvn verify

或者提供executions之外的配置 block (即在 <plugin><configuration> 中),以便在所有执行中继承它。

或者明确指定执行id jacoco-check :

mvn jacoco:check@jacoco-check

关于java - 使用 Maven 3.5 运行 jacoco 检查目标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57340266/

相关文章:

java - Jacoco 代理 - 无输出

java - RSS 项目顺序,重要吗?

javascript - 在eBay上列出产品时无法显示图像

java - Apache 公共(public)链基本示例

maven - Intellij代码检查Maven插件

java - Netbeans 中单独模块中集成测试的 jacoco 代码覆盖率

java - Swing、被动 View 和长时间运行的任务

java - 关于java中的join方法

java - 如何在 Maven 中的 exceptedGroups 中运行单元测试

gradle - jacoco代码覆盖率和aspectJ编织