使用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文件 增加以下内容 <!-- 配置发布站点url --> <distributionManagement> <site> <id>website</id> <url>scp://webhost.company.com/www/website</url> </site> </distributionManagement> <build> <plugins> <!-- 配置site 的国际化,默认为en,fr,更改为zh_CN,以及设置编码格式,默认utf-8 --> <plugin> <artifactId>maven-site-plugin</artifactId> <configuration> <locales>zh_CN</locales> <outputEncoding>GBK</outputEncoding> </configuration> </plugin> </plugins> </build> 在site 目录下,最重要的就是site.xml文件了 site.xml描述了主要的site布局,例子如下: <?xml version="1.0" encoding="ISO-8859-1"?> <project name="Maven"> <!-- left banner--> <bannerLeft> <name>Maven</name> <src>http://maven./images/apache-maven-project.png</src> <href>http://maven./</href> </bannerLeft> <!-- right banner--> <bannerRight> <src>http://maven./images/maven-small.gif</src> </bannerRight> <body> <!-- 默认的link --> <links> <item name="Apache" href="http://www./" /> <item name="Maven 1.0" href="http://maven./"/> <item name="Maven 2" href="http://maven./maven2/"/> </links> <!-- 菜单项 --> <menu name="Maven 2.0"> <item name="Introduction" href="index.html"/> <item name="Download" href="download.html"/> <item name="Release Notes" href="release-notes.html" /> <item name="General Information" href="about.html"/> <item name="For Maven 1.0 Users" href="maven1.html"/> <item name="Road Map" href="roadmap.html" /> </menu> <menu ref="reports" /> ... </body> </project> 配置站点文件 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中增加如下的插件 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-javadoc-plugin</artifactId> <configuration> <links> <link>http://java./j2se/1.4.2/docs/api</link> <link>http://plexus./ref/1.0-alpha-9/apidocs</link> </links> <aggregate>true</aggregate> </configuration> </plugin> pmd,一个不错的代码检查工具。 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-pmd-plugin</artifactId> <configuration> <rulesets> <ruleset>/rulesets/basic.xml</ruleset> <ruleset>/rulesets/imports.xml</ruleset> <ruleset>/rulesets/unusedcode.xml</ruleset> <ruleset>/rulesets/finalizers.xml</ruleset> <ruleset>/rulesets/controversial.xml</ruleset> <ruleset>/rulesets/strings.xml</ruleset> <ruleset>/rulesets/strictexception.xml</ruleset> <ruleset>/rulesets/optimizations.xml</ruleset> <ruleset>/rulesets/naming.xml</ruleset> </rulesets> <linkXref>true</linkXref> <sourceEncoding>GBK</sourceEncoding> <minimumTokens>100</minimumTokens> <!--支持jdk 1.5 --> <targetJdk>1.5</targetJdk> </configuration> </plugin> checkstyle,主要的代码格式工具,和pmd相比,更注重代码的格式。 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-checkstyle-plugin</artifactId> <configuration> <configLocation>sun_checks.xml</configLocation> </configuration> </plugin> Surefire test,单元测试结果报表 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-report-plugin</artifactId> </plugin> source xref,在网站上直接察看java源代码 <plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-jxr-plugin</artifactId> </plugin> tag list,用于查找在代码中预定义的标签,如todo <plugin> <groupId>org.codehaus.mojo</groupId> <artifactId>taglist-maven-plugin</artifactId> <configuration> <tags> <tag>TODO</tag> <tag>@todo</tag> <tag>FIXME</tag> </tags> </configuration> </plugin> 基本的站点已经成型了,下面就是生成了。 执行mvn site 生成目录,或者直接执行 mvn site-deploy 发布站点 |
|