您可以在您的站点中添加其他内容(例如文档、资源等)。有关这方面的更多信息,请参阅创建内容。如果您想更改页面上的菜单、面包屑、链接或徽标,您需要添加和配置站点描述符。如果你愿意,你也可以让 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和file协议。在上面的示例中,我们使用路径/www/docs/project/复制到主机www.mycompany.com。如果子项目从父 POM 继承站点 URL,它们将自动附加其<artifactId>以形成其有效部署位置。
现在您可以从项目目录执行site:deploy目标。
注意:在执行site:deploy之前必须先生成一个站点。
mvn site:deploy
如果您想一次性生成站点并部署它,您可以利用站点生命周期的站点部署阶段。为此,只需执行:
mvn site-deploy
注意:此目标在站点插件的 2.0-beta-5 或更高版本中可用。
要在正式部署之前查看/测试生成的网站,您可以将网站暂存到特定目录中。它将使用<distributionManagement>元素或项目层次结构来链接项目及其模块。
只需使用stagingDirectory参数从您的项目中执行site:stage目标,如下所示:
mvn site:stage -DstagingDirectory=C:\fullsite
注意: stagingDirectory不能是动态的,即stagingDirectory=${basedir}\fullsite
要暂存站点并进行部署,只需使用所需参数从项目中执行site:stage-deploy目标。site:stage-deploy目标将使用 id stagingSite进行部署。因此,如果您需要在settings.xml中添加您的用户名或密码,您应该为该<server>部分使用<id>stagingSite</id> 。有关这方面的更多信息,请参阅部署和安全设置指南。
mvn site:stage-deploy -DstagingDirectory=C:\fullsite \ -DstagingSiteURL=scp://www.mycompany.com/www/project/
注意:由于 Wagon 中的一个错误,当您运行site:stage-deploy目标时,密码并不总是被拾取。该错误已修复,但站点插件使用的 Wagon 版本取决于您使用的 Maven 版本。当前 2.0.x 版本的 Maven 使用的版本仍然存在此错误。
站点插件也可用于在 Jetty 中启动站点。为此,请执行:
mvn site:run
默认情况下,服务器将在http://localhost:8080/上启动。有关 Jetty 服务器的更多信息,请参见http://jetty.mortbay.org/。