Maven 2 在多个生命周期中运行maven目标

Maven 2 在多个生命周期中运行maven目标,maven-2,plugins,profile,Maven 2,Plugins,Profile,我想在验证阶段和报告阶段都运行cobertura插件。我有两个配置文件,它们都应该运行cobertura插件,但在配置文件A中,我只想创建xml/html输出,但在配置文件B中,我将生成包含这些结果的完整站点文档 我已经将cobertura配置为作为验证阶段的一部分运行的插件,但是如果我这样做,即使我运行mvn验证站点,cobertura报告也不会出现在站点文档中。似乎我需要在插件和报告部分列出它(因为我不会在概要文件A中运行站点,如果我只在插件中有它,它就不会在该概要文件中被调用)。到目前为止

我想在验证阶段和报告阶段都运行cobertura插件。我有两个配置文件,它们都应该运行cobertura插件,但在配置文件A中,我只想创建xml/html输出,但在配置文件B中,我将生成包含这些结果的完整站点文档

我已经将cobertura配置为作为验证阶段的一部分运行的插件,但是如果我这样做,即使我运行mvn验证站点,cobertura报告也不会出现在站点文档中。似乎我需要在插件和报告部分列出它(因为我不会在概要文件A中运行站点,如果我只在插件中有它,它就不会在该概要文件中被调用)。到目前为止,我的POM的插件部分包括:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin </artifactId>
<version>2.2</version>
<configuration>
    <instrumentation>
        <excludes>
            <exclude>com/somepkg/**</exclude>
        </excludes>
    </instrumentation>
    <formats>
        <format>xml</format>
        <format>html</format>
    </formats>
</configuration>        
<executions>
    <execution>
        <phase>verify</phase>
        <goals>
            <goal>cobertura</goal>
        </goals>
    </execution>
</executions>
</plugin>

org.codehaus.mojo
cobertura maven插件
2.2
com/somepkg/**
xml
html
验证
科贝图拉
我不想把它也复制到报告部分,因为这有很多重复的地方。有没有一个好的方法来实现这一点

谢谢

杰夫

定义如下:

<executions>
        <execution>
                <phase>verify</phase>
                <goals>
                        <goal>cobertura</goal>
                </goals>
        </execution>
        <execution>
                <phase>pre-site</phase>
                <goals>
                        <goal>cobertura</goal>
                </goals>
        </execution>
</executions>

验证
科贝图拉
现场前
科贝图拉

再看一眼,maven是否有一个称为报告的阶段。它似乎没有像我预期的那样工作……正确,据我所知,它正在报告站点生成中发生的情况。我发现,如果我只是将插件放在报告部分和其他构建中,我只是从命令行运行目标,效果最好。唯一的问题是,当我从命令行执行时,我似乎无法指定要使用的版本。我希望它能从报告插件中找到它,但它没有。有没有办法解决这个问题?仅供参考-我已经创建了属性来管理版本。我仍然需要列出这两个地方的插件(插件和报告),但是配置是自动从报告部分提取的,但是版本不是。所以我在这两个地方列出了插件groupId、artifactId和version(version是一个属性)