配置报告

Maven 3 用户注意事项:由于报告 API 的更改,报告包含不适用于Maven 3。请参阅MPDF-41

从 1.1 版开始,所有 Maven 报告将默认包含在生成的 PDF 中。您应该配置类似于 站点插件的 POM 的 <reporting/> 部分

例如,您可以拥有以下内容:

<project>
  ...
  <reporting>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-project-info-reports-plugin</artifactId>
        <version>2.1.2</version>
        <reportSets>
          <reportSet>
            <reports>
              <report>project-team</report>
              ...
            </reports>
          </reportSet>
        </reportSets>
      </plugin>
      ...
    </plugins>
  </reporting>
  ...
  <project>
笔记:
  1. 要排除 PDF 中的报告生成,您应该在命令行中添加-DincludeReports=false 。
  2. PDF 中只会添加内部报告插件,将跳过 Javadoc 等外部报告插件。

增强功能

拥有许多报告会大大增加构建时间,因此建议仅选择要包含在 PDF 中的所需报告。建议在您的 pom 中定义报告配置文件,类似于以下内容:

<project>
  ...
  <profiles>
    <profile>
      <id>pdf</id>
      <reporting>
        <plugins>
          <plugin>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>2.1.2</version>
            <reportSets>
              <reportSet>
                <reports>
                  <report>cim</report>
                  <!-- take too long time
                  <report>dependencies</report> -->
                  <report>dependency-convergence</report>
                  <report>dependency-management</report>
                  <!-- already present
                  <report>index</report> -->
                  <report>issue-tracking</report>
                  <report>license</report>
                  <report>mailing-list</report>
                  <report>plugin-management</report>
                  <report>plugins</report>
                  <report>project-team</report>
                  <report>scm</report>
                  <report>summary</report>
                </reports>
              </reportSet>
            </reportSets>
          </plugin>
        </plugins>
      </reporting>

      <build>
        <defaultGoal>pdf:pdf</defaultGoal>
        <plugins>
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-pdf-plugin</artifactId>
            <version>1.2</version>
          </plugin>
        </plugins>
      </build>
    </profile>
    ...
  </profiles>
  ...
  <project>

Maven 报告插件问题

Maven 项目支持多个报告插件。不幸的是,一些版本报告插件已经知道 PDF 插件存在问题,主要是由于在其实现中错误地使用了 Sink 对象

下表显示了已使用 PDF 插件测试的报告插件。失败的插件已修复并部署在 https://repository.apache.org/content/repositories/snapshots上,因此您将能够使用它们。

注意:修复这些报告插件正在进行中。如果您使用的 SNAPSHOT 插件与 PDF 插件一起失败,您应该在我们的问题跟踪器中填写错误报告。

maven-changelog-插件
报告 发布 (2.1) 快照 (2.2-SNAPSHOT)
更改日志:更改日志 不 是的
变更日志:开发活动 不 是的
更改日志:文件活动 不 是的
Maven 更改插件
报告 发布 (2.1) 快照 (2.2-SNAPSHOT)
更改:更改报告 不 是的
更改:jira 报告 不 是的
更改:跟踪报告 不 是的
maven-checkstyle-插件

注意:可能需要很长时间。

报告 发布 (2.3) 快照 (2.4-SNAPSHOT)
检查样式:检查样式 不 是的
maven 依赖插件
报告 发布 (2.1) 快照 (2.2-SNAPSHOT)
依赖:分析报告 是的 是的
maven-插件-插件
报告 发布 (2.5) 快照(2.5.1-SNAPSHOT)
插件:报告 不 是的
maven-pmd-插件
报告 发布 (2.4) 快照 (2.5-SNAPSHOT)
下午:cpd 不 是的
pmd:pmd 不 是的
Maven 项目信息报告插件

注意:依赖关系报告可能需要很长时间。

报告 发布 (2.1.2) 快照 (2.2-SNAPSHOT)
项目信息报告:cim 是的 是的
项目信息报告:依赖项 不 是的
项目信息报告:依赖性收敛 是的 是的
项目信息报告:依赖管理 是的 是的
项目信息报告:索引 是的 是的
项目信息报告:问题跟踪 是的 是的
项目信息报告:许可证 是的 是的
项目信息报告:邮件列表 是的 是的
项目信息报告:插件管理 是的 是的
项目信息报告:插件 是的 是的
项目信息报告:项目团队 是的 是的
项目信息报告:scm 是的 是的
项目信息报告:摘要 是的 是的
maven-surefire-report-plugin
报告 发布 (2.4.3) 快照 (2.5-SNAPSHOT)
万无一失的报告:报告 不 是的

Mojo 报告插件问题

Mojo 项目提出了几个报告插件。与 Maven 项目一样,由于 Sink 对象的使用,某些版本的 PDF 插件存在已知问题。

下表显示了已使用 PDF 插件测试的报告插件。其中一些已修复并部署在 http://snapshots.repository.codehaus.org上。

注意:这些测试表仅供您参考。如果您发现问题,请直接联系mojo 团队

clirr-maven-插件
报告 发布 (2.2.2) 快照(2.2.3-SNAPSHOT)
clirr:clirr 不 是的
cobertura-maven-插件
报告 发布 (2.3) 快照 (2.4-SNAPSHOT)
cobertura:cobertura 是的 是的
l10n-maven-插件
报告 发布 (1.0-alpha-2) 快照 (1.0-alpha-3-SNAPSHOT)
l10n:报告 是的 是的
javancss-maven-插件
报告 发布 (2.0) 快照 (2.1-SNAPSHOT)
javancss:报告 不 是的