首先,我尝试了 TheLQ 的答案,甚至投票给了那个答案(上图),因为它适用于简单的项目,特别是如果您还将 wagon-scm 和 wagon-ssh 依赖项添加到 maven-site-plugin 并将所有版本更新为最新的 ;) 虽然我遇到了一个问题,但对于一个多模块项目:每个子模块的站点都会覆盖以前推送的内容而不是嵌套它们(mvn deploy 存在同样的问题,即直接部署到 Hg 托管的远程 maven repo 不会创建正确的文件夹层次结构)。
因此,这是一个替代解决方案,它也减少了对远程存储库的提交(尽管它需要一些手动工作)。
首先,转到您的 Google 代码项目https://code.google.com/p/MYPROJECT,选项卡“管理”、“源”并创建一个名为“站点”的新存储库(或您喜欢的方式)调用它)。然后,您必须提交并推送至少一个文件,方便地称为“index.html”到该存储库。
其次,在父项目的 pom.xml 中有以下内容(仅):
<distributionManagement>
<!-- ... other content ...-->
<site>
<id>MYPROJECT.googlecode.com</id>
<name>MYPROJECT auto-generated site</name>
<url>http://site.MYPROJECT.googlecode.com/hg</url>
</site>
</distributionManagement>
并且 -
<url>http://site.MYPROJECT.googlecode.com/hg</url>
注意:是的,它是“http:”而不是“https:”;在我的示例中,Maven 不会使用 URL 来实际部署站点内容(我不会执行站点部署);相反,将使用 mvn site site:stage (见下文)。此外,您不必触摸 settings.xml(在 *nix 系统上位于 ~/.m2/ 中的那个)。
第三,只需将远程(“站点”)存储库克隆到您的本地计算机(目标目录可以在父项目的目录下以及其他任何地方 - 只需 cd 到您想要的 THAT_DIR ):
cd THAT_DIR
hg clone https://USERNAME@code.google.com/p/MYPROJECT.site/
注意:如果它存在,您不必再次克隆,只需执行 hg pull、hg update(可选地使用 hg rm * 删除旧内容并提交)。您也可以使用免费的 SourceTree 软件来代替控制台。
接下来,从项目根目录开始,正常执行(如果您之前已经做过,请跳过“清理,安装”目标;我使用的是 Maven 3.0.5):
mvn clean install site site:stage -DstagingDirectory=FullPathTo/MYPROJECT.site
最后,切换到 clone/stage 目录,THAT_DIR/MYPROJECT.site,在本地测试网站(在浏览器中打开 index.html),如果满意的话:
hg add *
hg commit -m "re-generated MYPROJECT"
hg push
在http://site.MYREPO.googlecode.com/hg/index.html查看它以及在https://code.google.com/p/MYPROJECT.site/的来源和更改
完毕。