2012-08-17 27 views
4

我正在努力理解部署具有工作链接的多模块maven站点的复杂性。由于我使用maven-scm-provider-hg部署到Google Code,这一事实很复杂。默认情况下,为多模块站点始终部署分段站点?

根据文档,我应该运行mvn site:site site:stage以获得完整的工作网站。但是,当我运行mvn site:deploy时,它会部署除映像和css文件夹之外为空的父pom站点。

接下来我试试mvn site:stage-deploy。这样做会失败,因为它会将staging/添加到网址,因为我使用Google代码会导致错误,因为http://code.google.com/p/myproject.site/staging不是存储库。这也不是一个长期的解决方案,因为我非常确定maven release插件运行site:site

使用工作链接部署完整多模块站点的正式方法是什么?

+0

至少,我可以说的是,mvn网站:stage会在本地部署,AS在制作中(如http://code.google.com/p/myproject.site)。登台是一种方便查看(站点)发生的情况的便捷方式:部署。这是测试全功能网站的正确方法(带有工作链接)。这不适合生产部署。 – 2012-08-18 13:59:22

+0

另外,mvn site:deploy会递归地部署所有的子集......我无法解释什么是oo。考虑你主要的POM应该有一些一般的信息。这可能的确是主要网站 – 2012-08-18 14:16:01

+0

您能向我们展示您的distributionManagement部分的内容吗?顺便说一句,您是否尝试将$ stagingSiteURL值设置为http://code.google.com/p/myproject.site? – poussma 2012-08-22 07:32:04

回答

0

为了在一切准备就绪的情况下运行多模块构建的网站构建,您必须运行网站生命周期阶段网站部署,而不仅仅是网站插件目标。

所以我会跑

mvn clean install site-deploy 

或文物的部署与本站

mvn clean deploy site-deploy 

当然,你必须有设置在分配管理方面是正确的。除此之外,您希望确保所有模块都具有与其artifactId相同的目录名称,并且您已按照网站插件网站上记录的相应链接等设置了site.xml。

根据站点部署协议,你可能还需要添加一个新建扩建(例如,如果您使用DAV)

这当然需要一些摆弄,但它的工作原理。另外我会推荐使用最新版本的网站插件(3.1)和Maven(3.0.4)。

相关问题