首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

maven2站点的定做和发布

2012-09-20 
maven2站点的定制和发布mvn site功能强大,特别是在生成的项目站点中可以添加很多测试报告及文档。一般需要

maven2站点的定制和发布

mvn site功能强大,特别是在生成的项目站点中可以添加很多测试报告及文档。

一般需要解决3个问题:

1、如何定制站点的内容和样式?

2、mvn site生成的文件分布在各子模块目录下,如何统一管理?

3、如何将报告发布成站点,以便于项目组其它成员通过浏览器能够方便的查看?

?

?

--------------------------- ----------------------------------------- ------------------------------

站点定制:

一、如果不做任何配置,执行mvn site命令生成默认样式的站点,主要包括以下内容:

1、子模块列表Modules;

2、文档列表Project Documentation,主要有两大块:项目信息Project Information 、项目报告Project Reports;

3、项目信息Project Information,默认包括项目相关概要信息、持续集成、依赖、插件、配置库等报告,详见官网(Apache > Maven > Plugins > Maven Project Info Reports Plugin):

http://maven.apache.org/plugins/maven-project-info-reports-plugin/

4、项目报告Project Reports,取决与pom.xml文件中<reporting>部分的配置,可集成checkstyle、cobertura、Findbugs等报告;

?

二、如果想要增加站点内容,或者减少项目信息报告,则需要建立site.xml文件,修改项目pom文件

1、在项目根目录下(与根pom同级)新建src\site目录,其下新建site.xml文件;

2、site.xml的标准格式和校验文件可以参见官网(Apache > Maven > Plugins > Maven Site Plugin > Configuring the Site Descriptor):

???? http://maven.apache.org/plugins/maven-site-plugin/examples/sitedescriptor.html

3、编写site.xml,参考官网;4、一个例子:
??5、以上例子中,parent、modules、reports为保留字,生成的站点将包含以下内容:模块名(默认与各级pom文件中的<name>对应)、上级模块链接(parent,方便返回上级目录)、子模块列表链接(modules)、文档列表(reports,包括Project Information 和Project Reports)、返回上级目录和返回首页的链接;6、需要注意的是,无需配置Project Info Reports Plugin即默认包含所有Project Information报告,如果想要去掉其中某些报告,需要在pom文件中对Project Info Reports Plugin进行配置:
<distributionManagement>    <site>      <id>www.yourcompany.com</id>           <url>file://z:/projectname</url>    </site> </distributionManagement>
?

id:HTTP server的id;

url:文件存放目录,目前支持scp(需要配置用户、权限等)和file方式传送。使用file方式表示直接拷贝文件到本机,如果http server不在本机,使用共享文件夹的方式。

3、到项目根目录下(与根pom同级)执行mvn clean site dashboard:dashboard site:deploy -fn:发布站点,即可通过浏览器访问(http)。

4、此时不能使用site:stage,否则子module的链接不正确,通过浏览器无法正确访问子模块页面。

5、注意在maven2.1之前的版本,存在maven site在linux上生成的子module的link不正确的bug。若要正确访问子module,需要使用maven2.1以上的版本。 ??

6、执行site dashboard:dashboard site:deploy,生成的dashboard页面没有默认name作为页面标题;

执行site site:deploy,发现生成的dashboard页面标题正常,但dashboard报告只会聚合子目录报告,而不会聚合同级报告,如果项目有多个子modules,且根目录级别没有代码,报告为空,那么site site:deploy根目录下的dashboard报告数据是没有问题的;

一个折衷的办法是site dashboard:dashboard site site:deploy,则页面标题正常,dashboard报告内容也正确。

-------------------------------- ----------------------------------------------- ---------------------------------

?

转载地址:http://julianlali.blog.163.com/blog/static/58133643201041024047675/

?

?




?

?

?

?

?

热点排行