使用maven2的另外一个好处,就是有了统一的入口,用于察看项目的进展情况。这主要包括了项目的介绍,成员介绍,以及相关的项目的文档,当然也包括项目的所有进展报表。
下面,通过实例来介绍如何配置maven,来产生项目站点。
首先创建相关的site
mvn archetype:create / -DarchetypeGroupId=org.apache.maven.archetypes / -DarchetypeArtifactId=maven-archetype-site / -DgroupId=com.mycompany.app / -DartifactId=my-app-site
你会看到如下的目录:
my-app-site|-- pom.xml`-- src `-- site |-- apt | |-- format.apt | `-- index.apt |-- fml | `-- faq.fml |-- fr | |-- apt | | |-- format.apt | | `-- index.apt | |-- fml | | `-- faq.fml | `-- xdoc | `-- xdoc.xml |-- xdoc | `-- xdoc.xml |-- site.xml `-- site_fr.xml
当然也可以不用通过此来生成站点,直接在原有的src目录中增加site目录就行。当然,为了简化操作,一般先生成相应的site目录,然后拷贝到相应的src目录中。
修改pom文件
增加以下内容
website scp://webhost.company.com/www/website maven-site-plugin zh_CN GBK
在site 目录下,最重要的就是site.xml文件了
site.xml描述了主要的site布局,例子如下: Maven http://maven.apache.org/images/apache-maven-project.png http://maven.apache.org/ http://maven.apache.org/images/maven-small.gif
...
配置站点文件
maven 支持以下的文档:
xdoc格式,使用简单的xml格式
apt格式,like wiki格式的纯文本
fml格式, faq格式
docBook
一般采用apt文件,默认的apt都是iso-8859-1的,如果需要支持中文,需要使用native2ascii命令来转换。
报表:
站点主要的配置,目前不错的报表插件,包括javadoc,pmd,checkstyle,Surefire test,source xref,tag list等。
下面详细介绍这些报表:
javadoc,对于团队内部来说,javadoc是比较重要的,当然前提是能好好的写javadoc。
配置如下:在reporting中增加如下的插件
org.apache.maven.plugins maven-javadoc-plugin http://java.sun.com/j2se/1.4.2/docs/api http://plexus.codehaus.org/ref/1.0-alpha-9/apidocs true
pmd,一个不错的代码检查工具。
org.apache.maven.plugins maven-pmd-plugin /rulesets/basic.xml /rulesets/imports.xml /rulesets/unusedcode.xml /rulesets/finalizers.xml /rulesets/controversial.xml /rulesets/strings.xml /rulesets/strictexception.xml /rulesets/optimizations.xml /rulesets/naming.xml true GBK 100 1.5
checkstyle,主要的代码格式工具,和pmd相比,更注重代码的格式。
org.apache.maven.plugins maven-checkstyle-plugin sun_checks.xml
Surefire test,单元测试结果报表
org.apache.maven.plugins maven-surefire-report-plugin
source xref,在网站上直接察看java源代码
org.apache.maven.plugins maven-jxr-plugin
tag list,用于查找在代码中预定义的标签,如todo
org.codehaus.mojo taglist-maven-plugin TODO @todo FIXME
基本的站点已经成型了,下面就是生成了。
执行mvn site 生成目录,或者直接执行 mvn site-deploy 发布站点
用最少的浪费面对现在