4

有人没有得到 mvn 站点输出吗?我在我的 Macbook pro 上获得了站点输出,并且我也部署了该站点。但今晚没有任何效果:

[信息] --- maven-site-plugin:2.0.1:site (default-cli) @ svs-utility ---

未生成报告或 HTML

4

2 回答 2

11

我认为根据 Raghuram 的建议,您已经想通了,但是,我今天看到了这个问题,并且遇到了同样的问题。我正在学习 Maven,我想在这里记录我的步骤,因为它可能对其他人有用。我正在运行 Maven 3.0.1,它使用的插件版本 2.0.1 不起作用。

我在 stackoverflow 上发现了另一个问题,解释了如何升级 Maven 插件

正如@andri 所说:

默认插件版本继承自 Super POM,可以通过 mvn help:effective-pom 查看。

我检查了一下,它确实在使用 2.0.1 - 我在http://search.maven.org/上搜索了最新版本的站点插件,在撰写本文时是 3.0-beta-3(更新3.0 已经发布,我'已经更新了下面的代码)。

然而,@andri 的答案并没有像超级 POM 那样报告正确的结构,而@Brian Fox 的答案却是这样。结合这两个答案和在 Maven 存储库中找到的信息,我将以下内容添加到我的 pom.xml

<build>
    <pluginManagement>
        <plugins>
            <plugin>
                <artifactId>maven-site-plugin</artifactId>
                <version>3.0</version>
            </plugin>
        </plugins>
    </pluginManagement>
</build>

有了这个改变,“mvn 站点”现在可以工作了。

现在有人可能会问,为什么 Maven 3 附带了一个不起作用的插件。事实证明,Maven 开发人员 Brian Fox 决定将插件锁定到版本 2。一般来说,这对于稳定性来说似乎是一个好主意,但是由于不尊重向后兼容性,在这种特定情况下它变成了一个非常糟糕的主意。超级 pom 中的插件应该针对其打包的版本开箱即用。应该提供向后兼容性,或者应该将其更新到新版本。

也许稍后会修复它,同时上述解决方法有效。将插件的版本锁定到特定项目也是一个好主意。

于 2011-06-27T05:11:44.887 回答
3

你用的是maven 3吗?如果是这样,则需要使用3.x 版本的站点插件

于 2011-04-02T14:32:38.690 回答