Sealyu

--- 博客已迁移至: http://www.sealyu.com/blog

  BlogJava :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  618 随笔 :: 87 文章 :: 225 评论 :: 0 Trackbacks
 使用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.apache.org/images/apache-maven-project.png</src>
    <href>http://maven.apache.org/</href>
  </bannerLeft>
  <!-- right banner-->
  <bannerRight>
    <src>http://maven.apache.org/images/maven-small.gif</src>
  </bannerRight>
  <body>
    <!-- 默认的link -->
    <links>
      <item name="Apache" href="http://www.apache.org/" />
      <item name="Maven 1.0" href="http://maven.apache.org/"/>
      <item name="Maven 2" href="http://maven.apache.org/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.sun.com/j2se/1.4.2/docs/api</link>
            <link>http://plexus.codehaus.org/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 发布站点
posted on 2010-01-08 16:33 seal 阅读(325) 评论(0)  编辑  收藏 所属分类: Maven

只有注册用户登录后才能发表评论。


网站导航:
博客园   IT新闻   Chat2DB   C++博客   博问