如何使用仅限报告的目标将maven-surefire-report-plugin集成到maven-site-plugin中

时间:2014-05-14 11:37:30

标签: java maven pom.xml maven-surefire-plugin maven-site-plugin

我有以下问题:

maven-surefire-report-plugin调用生命周期目标test。这又开始了我的测试员。为了防止这种情况,他们解决了这个问题: http://jira.codehaus.org/browse/SUREFIRE-257

我现在遇到了将此问题实施到我的POM中的困难。 他们在页面上有以下注释:

  

注意:从版本2.8开始,此插件需要Maven Site Plugin 2.1或   更高才能正常工作。版本2.7.2及更早版本仍然兼容   使用更新的万无一失的版本,因此可以进行混音。

我的maven运行:“clean deploy site-deploy”

这是我的POM部分:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-site-plugin</artifactId>
    <configuration>
        <reportPlugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>2.7</version>
                <configuration>
                    <dependencyDetailsEnabled>false</dependencyDetailsEnabled>
                    <dependencyLocationsEnabled>false</dependencyLocationsEnabled>
                </configuration>
                <reportSets>
                    <reportSet>
                        <reports>
                            <report>index</report>
                            <report>dependencies</report>
                            <report>project-team</report>
                        </reports>
                    </reportSet>
                </reportSets>
            </plugin>

            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-surefire-report-plugin</artifactId>
                <version>2.9</version>
                <configuration>
                    <outputDirectory>${project.build.directory}/site</outputDirectory>
                    <reportsDirectories>
                        <reportsDirectories>${project.build.directory}/site/surefire-reports</reportsDirectories>
                    </reportsDirectories>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
                <version>2.3</version>
            </plugin>
        </reportPlugins>
        <generateReports>true</generateReports>
        <inputEncoding>UTF-8</inputEncoding>
        <outputEncoding>UTF-8</outputEncoding>
    </configuration>
</plugin>

如何配置只触发surefire-report:report-only并且未调用test - 阶段(但是其他所有内容都在site - 阶段完成)?

1 个答案:

答案 0 :(得分:2)

在互联网上搜索了几个小时后,我终于找到了一些东西。

目标必须是报告,如下:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-surefire-report-plugin</artifactId>
    <version>2.9</version>
    <configuration>
        <outputDirectory>${project.build.directory}/site</outputDirectory>
        <reportsDirectories>
            <reportsDirectories>${project.build.directory}/site/surefire-reports</reportsDirectories>
        </reportsDirectories>
    </configuration>
    <reportSets>
        <reportSet>
            <id>integration-tests</id>
            <reports>
                <report>report-only</report>
            </reports>
        </reportSet>
    </reportSets>
</plugin>