我在 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/