我是新来的Maven和要使用的Jacoco Maven插件来构建我的项目。
我已经设置了一个示例项目使用TestNG唯一的依赖。
下面是pom.xml中的一部分:
<dependencies>
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<version>0.6.2.201302030002</version>
<executions>
<execution>
<goals>
<goal>prepare-agent</goal>
</goals>
</execution>
<execution>
<id>report</id>
<phase>prepare-package</phase>
<goals>
<goal>report</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
我得到这个错误:
插件执行未包括生命周期配置:org.jacoco:jacoco-maven-插件:0.6.2.201302030002:制备剂(执行:默认值,相:初始化)
我究竟做错了什么 ? 干杯
您可以忽略的插件目标,加入这样的事情你的pom.xml
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings only.
It has no influence on the Maven build itself.-->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<versionRange>[0.5,)
</versionRange>
<goals>
<goal>prepare-agent</goal>
</goals>
</pluginExecutionFilter>
<action>
<!-- m2e doesn't know what to do with jacoco,
let's ignore it or annoying error markers appear
see http://wiki.eclipse.org/M2E_plugin_execution_not_covered
-->
<ignore></ignore>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
由于这是关系到Eclipse的Maven插件,或者这可以在本地Eclipse的喜好设置。 移动配置了该项目的POM文件有助于代码简洁明快,免费的IDE详情。
去到Eclipse - >首选项 - >的Maven - >生命周期映射。 添加lifecycle-mapping-metadata.xml
,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>org.jacoco</groupId>
<artifactId>jacoco-maven-plugin</artifactId>
<versionRange>[0.5,)</versionRange>
<goals>
<goal>prepare-agent</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore />
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
刷新生命周期的映射文件,然后Maven
- > Update Project
现在Eclipse提供了一个快速解决禁用警告,并保存在用户的偏好(在Eclipse - >首选项 - >的Maven - >如指出的生命周期映射的生命周期映射-metadata.xml中@伊克尔 - 阿瓜约),所以你不要“T必须手动创建或编辑文件。 这是在情况下,你不能更新POM有用的(例如,使用一个开源项目,你不能犯。)
我最终还是选择了忽略插件和使用CLI命令MVN代替用代码覆盖测试。
内部Eclipse IDE中,右键单击该jacoco - Maven的插件红色标记的警告。 你应该在弹出三个选项来解决警告,选择忽略警告,这将导致你的pom.xml自动生成的部分,即带线的意见开始,
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
在命令行中,每个签入前运行mvn命令,并应与覆盖触发测试目标,
$mvn clean package
这个问题是专门针对Eclipse,作为对M2E维基概述 。 对不起,我不能帮助还不止这些,因为我不使用Eclipse。
文章来源: Jacoco Maven Plugin - Plugin execution not covered by lifecycle configuration