Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/maven/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Maven+;三叶草+;Jenkins-如何在一个命令中获得覆盖率报告和非仪器化工件_Java_Maven_Jenkins_Clover - Fatal编程技术网

Java Maven+;三叶草+;Jenkins-如何在一个命令中获得覆盖率报告和非仪器化工件

Java Maven+;三叶草+;Jenkins-如何在一个命令中获得覆盖率报告和非仪器化工件,java,maven,jenkins,clover,Java,Maven,Jenkins,Clover,我正在尝试运行maven clover插件来生成报告以及生成非仪器化工件 <plugin> <groupId>com.atlassian.maven.plugins</groupId> <artifactId>maven-clover2-plugin</artifactId> <version>3.1.3</version>

我正在尝试运行maven clover插件来生成报告以及生成非仪器化工件

<plugin>
            <groupId>com.atlassian.maven.plugins</groupId>
            <artifactId>maven-clover2-plugin</artifactId>
            <version>3.1.3</version>
            <configuration>
                <generatePdf>true</generatePdf>
                <generateHtml>true</generateHtml>
                <licenseLocation>clover.license</licenseLocation>
                <!-- the contextFilters element has to be specified within the reporting section and will not work if you specify it in the build section. -->
                <!-- contextFilters>try,static,catch</contextFilters --> 
            </configuration>
        </plugin>

com.atlassian.maven.plugins
maven-clover2-plugin
3.1.3
真的
真的
三叶草许可证

mvn清洁三叶草2:仪表三叶草2:三叶草安装

若我根据clover doc instument运行上述命令,则目标将在单独的生命周期中运行,并且不会影响默认构建周期。确实如此,但问题是我想在默认构建生命周期中跳过测试。 我尝试了以下步骤,但它跳过了这两个生命周期的测试

mvn清洁三叶草2:仪表三叶草2:三叶草安装-DskipTests


如果上述方法有效,那么我可以在jenkins上简单地设置它,而无需为多个maven命令创建多个作业。

用一个神秘的maven命令完成所有工作可能不是最好的办法(同样,将所有代码放在一个过程中也不是最好的办法)。为什么不将命令拆分为几个步骤甚至作业,从而触发另一个呢?此外,从CI的角度来看,不同类型的作业要求不同的优先级快速失败。我知道这并不完全是一个答案。

IMO maven应该提供一种方法,为不同的生命周期提供不同的参数。e、 g.mvn清洁站点,在这里我可以传递清洁和站点生命周期的不同参数。或者在插件配置中,我应该能够配置这个插件应该绑定到哪个生命周期
另一个选择是jenkins支持多个maven命令rathar,然后期望用户创建多个maven配置文件。更正在某种程度上同意关注点分离。但是IMO jenkins至少应该支持多个maven命令。仅仅为了制造神器而创造一份詹金斯的工作似乎有些过分了。想一想,在开发微服务时,您为一个项目完成了多少CI工作。我可能错了。当然,如果您有自由风格的作业类型,则支持多个maven命令。对于maven类型的作业,有“M2额外步骤插件”插件。它允许您在主构建之前和之后执行maven目标,但我从未在现实生活中使用过它。