Maven:网站和安装可互换?

时间:2017-09-01 12:11:18

标签: java maven maven-site-plugin

在Maven中,mvn site installmvn install site基本相同,还是第一个生成上一个install的网站?

更确切地说:site独立于install还是site包含从install生成的结果?

2 个答案:

答案 0 :(得分:0)

Maven按照您提供的顺序执行目标,因此它会site之前的install然后执行新的install

另一个简单的例子是证明它是mvn install clean,你会看到结果,因为所有目标都将在构建结束时删除

答案 1 :(得分:0)

根据设计,可用作网站生成(site生命周期的一部分)的插件目标将不需要执行default生命周期,或者将自动触发它。其中大多数是“报告”目标。 例如在javadoc部分中添加<reporting>时,当用户执行default时,它将另外触发mvn site生命周期。

因此,通常install不需要在site之前执行。
可能的例外可能是:

  • 一个报告插件期望在默认生命周期中生成一些输入,但不会触发该生命周期。在这种情况下,您应该手动触发默认生命周期。
  • 涉及站点资源复制或下载的自定义操作已附加到默认生命周期阶段。同样,您应该手动触发默认生命周期。

示例:

比方说,您想将README.md(位于项目的根目录)包含到站点中。您需要在生成网站之前将其复制到src/site/markdown中。
为此,您可以使用copy-resources插件中的resources个目标。

然后,您需要为copy-resources指定执行阶段:

  • process-resources声明为执行阶段:然后需要mvn process-resources site(或mvn install site),相反的将不起作用。
  • pre-site声明为执行阶段(更正确):那么mvn site就足够了(因为预置位是site生命周期的一个阶段,并且无论如何都会执行)。