我正在尝试使用Maven站点插件创建一个基本的Maven站点。所以我将其添加到我的pom中:

<reporting>
    <plugins>
        <!--JavaDoc setup-->
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-javadoc-plugin</artifactId>
            <version>2.7</version>
            <configuration>
                <defaultAuthor>Leon Blakey</defaultAuthor>
                <defaultVersion>${project.version}</defaultVersion>
                <links>
                    <link>http://download.oracle.com/javase/6/docs/api</link>
                </links>
            </configuration>
        </plugin>
    </plugins>
</reporting>

并跑了 mvn site --errors

[INFO] Error stacktraces are turned on.
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building pircbotx 1.3-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] --- maven-site-plugin:2.0.1:site (default-site) @ pircbotx ---
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.688s
[INFO] Finished at: Wed Jan 12 18:08:00 EST 2011
[INFO] Final Memory: 5M/13M
[INFO] ------------------------------------------------------------------------
W:\programming\pircbot-hg>

嗯,奇怪的是没有输出。因此,当我检查目标/站点时,它是空的。唯一的文件夹是图像/,CSS/和Web-Inf/,其中包含一些通用图片。没有Javadoc,也没有站点。

这是可重现的 mvn site:sitemvn org.apache.maven.plugins:maven-site-plugin:2.2:site (显然,Maven只想使用2.0.1)

奇怪的是,我可以回到Maven 2.2.1并成功生成一个网站。但是,当我使用3.0.1-RC1(恰好与NetBeans一起出现)时,它会失败。

我做错了什么,这会使网站插件以3.0.1而不是2.2.1失败?

有帮助吗?

解决方案

也许您可以尝试使用 Maven站点插件3.x. 。您可以通过在pom.xml中添加以下内容来做到这一点

<build>
    ...
    <plugins>
        ...
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-site-plugin</artifactId>
            <version>3.0-beta-3</version>
        </plugin>
    </plugins>
</build>

其他提示

我遇到了同样的问题。我找到了 博客文章 关于这个话题。

引用博客(重点是我的):

如果您一直在使用pom.xml文件的报告部分来生成代码质量指标,Javadoc报告等,那么您可能需要做一些工作要迁移到Maven 3中。确实,报告和报告集部分部分已被弃用(它不会导致Maven 3的错误,它将被忽略),并已被Maven Site-Plugin本身的配置块中的ReportPlugins部分替换。

忽略旧的 <reporting> 没有任何警告,对此不屑一顾似乎有些粗鲁,但是无论如何...

因此,您基本上只是将旧的报告插件移至新的Maven Site-Plugin的配置部分。

一个 毛ven木位点的一部分 解释了他们 从Maven的核心中删除所有报告逻辑 “将Maven Core与Doxia解脱,并允许开发任意报告系统。”说得通。

使用网站插件( http://maven.apache.org/plugins/maven-site-plugin/ )最终似乎解决了Maven 3。 (非β)版本已经发布,并且能够使用版本2样式 <reporting> pom.xml声明中的结构已添加。

尽管(像往常一样)很难浏览有关Maven 3和网站插件的实质但无组织和重叠的文档,但一页 - http://maven.apache.org/plugins/maven-site-plugin/maven-3.html - 指出,现在建议使用新的“插件到网站插件”样式:

笔记: 在Maven 3中,新格式不支持报告插件配置继承:请参见MSITE-484。从技术上讲,这种格式是从Maven 3中删除报告逻辑的必要条件,但是仍需要将一种新的继承机制添加到Maven 3中,以使其与旧格式一样灵活。因此,新格式目前尚未准备好直接使用。

示例页面 http://maven.apache.org/plugins/maven-site-plugin/examples/configuring-reports.html 为了配置报告,甚至没有提及“新”格式化方法。

不确定这是否是“最佳实践”表格,但是一个示例的POM报告部分,对我有用的额外报告如下;根据需要选择自己的插件。

    ...
    <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.0</version>
          </plugin>
       </plugins>
    </build>

    <reporting>
        <plugins>

            <!-- Default Site Pages -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-project-info-reports-plugin</artifactId>
                <version>2.4</version>
            </plugin>

            <!-- Java Documentation -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-javadoc-plugin</artifactId>
                <version>2.8</version>
            </plugin>

            <!-- Source Code Cross-Reference -->
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-jxr-plugin</artifactId>
                <version>2.3</version>
            </plugin>
            ...
        </plugins>
    </reporting>

顺便说一句,如果您使用Eclipse中的M2E插件来编辑POMS,则可以在插件的版本部分中使用代码完成,为您提供其当前版本的列表。非常便利。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top