您可以在您的站点中添加其他内容(例如文档、资源等)。有关这方面的更多信息,请参阅创建内容。如果您想更改页面上的菜单、面包屑、链接或徽标,您需要添加和配置站点描述符。如果你愿意,你也可以让 Maven根据你的 POM 的内容为你生成一些报告。
要生成项目的站点和报告,请执行:
mvn site
默认情况下,生成的站点将位于target/site/目录中。
注意:如果您有一个多模块项目,那么当您使用mvn site或mvn site:site时,父模块和子模块之间的链接将不起作用。如果你想使用这些链接,你应该使用mvn site:stage代替。您可以在此页面的“登台站点”部分中进一步了解该目标。
注意:出于性能原因,Maven 会比较生成文件和相应源文档的时间戳,并且仅重新生成自上次构建以来发生更改的文档。但是,这仅适用于文档源文档(apt、xdoc、...)。如果您更改site.xml中的任何内容、pom 中的任何相关部分或任何相关属性或资源文件,您应该从头开始生成站点以确保所有引用和链接都是正确的。
为了能够部署站点,您必须首先指定站点的部署位置。这是在 POM 的<distributionManagement>元素中设置的,如下所示。
<project> ... <distributionManagement> <site> <id>www.yourcompany.com</id> <url>scp://www.yourcompany.com/www/docs/project/</url> </site> </distributionManagement> ... </project>
< id>元素标识存储库,因此您可以使用<servers>元素在settings.xml文件中将凭据附加到它,就像对任何其他存储库一样。
<url>给出了部署的位置。在上面的示例中,我们通过scp协议使用路径/www/docs/project/复制到主机www.mycompany.com 。您可以在此页面上阅读有关支持哪些协议的更多信息。如果子项目从父 POM 继承站点 URL,它们将自动附加其<artifactId>以形成其有效部署位置。
现在您可以从项目目录执行site:deploy目标。
注意:在执行site:deploy之前必须先生成一个站点。
mvn site:deploy
如果您想一次性生成站点并部署它,您可以利用站点生命周期的站点部署阶段。为此,只需执行:
mvn site-deploy
注意:此目标在站点插件的 2.0-beta-5 或更高版本中可用。
要在正式部署之前查看/测试生成的网站,您可以将网站暂存到特定目录中。它将使用<distributionManagement>元素或项目层次结构来链接项目及其模块。
只需从您的项目中执行site:stage目标
mvn site:stage
注意:从 2.3 版本开始,在执行site:stage之前必须先生成一个站点。
默认情况下,站点将暂存于目录target/staging/中。可以使用stagingDirectory参数选择不同的暂存位置,如下所示:
mvn site:stage -DstagingDirectory=C:\fullsite
注意: stagingDirectory不能是动态的,即stagingDirectory=${basedir}\fullsite
要暂存站点并进行部署,只需使用所需参数从项目中执行site:stage-deploy目标。site:stage-deploy目标将使用distributionManagement.site.id的值作为默认 id 在您的settings.xml中查找服务器部分;除非未定义,否则字符串stagingSite将用作 id。因此,如果您需要在settings.xml中为 stage-deploy 单独添加用户名或密码,则应为该<server>部分使用<id>stagingSite</id> 。有关这方面的更多信息,请参阅部署和安全设置指南。
默认情况下,站点将被阶段部署到$ distributionManagement.site.url /staging/。可以使用stagingSiteURL参数选择不同的位置,如下所示:
mvn site:stage-deploy -DstagingSiteURL=scp://www.mycompany.com/www/project/
注意:从 2.3 版本开始,在执行site:stage-deploy之前必须先生成一个站点。
注意:由于 Wagon 中的一个错误,当您运行site:stage-deploy目标时,密码并不总是被拾取。该错误已修复,但站点插件使用的 Wagon 版本取决于您使用的 Maven 版本。当前 2.0.x 版本的 Maven 使用的版本仍然存在此错误。
站点插件也可用于在 Jetty 中启动站点。为此,请执行:
mvn site:run
默认情况下,服务器将在http://localhost:8080/上启动。有关 Jetty 服务器的更多信息,请参见http://jetty.mortbay.org/。
注意:运行站点仅适用于单模块站点。要预览多模块站点,应该使用site:stage。