禁用Maven的project-info-reports-plugin插件的所有报告。

8

我想通过Maven的site插件来生成自定义报告,但仅限于此自定义报告,而不是由project-info-reports-plugin默认生成的所有报告。

问题: 有什么推荐的方法可以实现这一点吗?

我看到该插件有跳过属性可以禁用特定报告,但这似乎很繁琐,因此我正在寻找一种完全禁用该插件的方法。


关闭 project-info-reports-plugin... - khmarbaise
1
但这就是我的问题,如何做到呢? - Gunnar
1
这个回答能解决你的问题吗?在父POM中禁用Maven插件 project-info-reports-plugin 插件是在全局父POM中定义的。 - Ferrybig
1个回答

17

正如评论中提到但需要进一步澄清(请参见下面的第二种情况),您需要在POM中禁用/跳过插件,以便禁用您从默认父POM继承的行为(通过任何现有的父POM链)。

但是,您需要从reporting/plugins部分禁用它(而不是build/plugins部分),如下所示:

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>2.9</version>
            <reportSets>
                <reportSet>
                    <configuration>
                        <skip>true</skip>
                    </configuration>
                </reportSet>
            </reportSets>
        </plugin>
        <!-- any further custom report here -->
    </plugins>
</reporting>

请注意skip元素被设置为true。这将跳过生成项目信息部分(依赖项、关于、摘要等)。在报告部分,您可以添加任何自定义报告(javadoc、checkstyle等),它们将被添加到项目文档根目录下的项目报告部分。

设置以下内容不会跳过它(我已经尝试过了,以确保其行为):

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>2.9</version>
            <configuration>
                <skip>true</skip>
            </configuration>
        </plugin>
    </plugins>
</build>

当禁用默认的项目信息部分时,有一点需要注意:您将不再生成index.html文件(来自默认的关于页面),这可能会普遍导致一些麻烦(我们总是需要一个index.html文件)。

在这种情况下,可以采用以下解决方案:

<reporting>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-project-info-reports-plugin</artifactId>
            <version>2.9</version>
            <reportSets>
                <reportSet>
                    <reports>
                        <report>index</report>
                    </reports>
                </reportSet>
            </reportSets>
        </plugin>
        <!-- any further custom report here -->
    </plugins>
</reporting>

这将仍然创建项目信息部分,但只提供关于页面,也就是来自您的POM中description元素的项目一般描述。

输入图像描述


1
很棒的回答;生成"索引"报告的想法很好,确实很有用。非常感谢! - Gunnar

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接