Sealyu

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

            BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
            618 隨筆 :: 87 文章 :: 225 評論 :: 0 Trackbacks
           使用maven2的另外一個好處,就是有了統(tǒng)一的入口,用于察看項目的進(jìn)展情況。這主要包括了項目的介紹,成員介紹,以及相關(guān)的項目的文檔,當(dāng)然也包括項目的所有進(jìn)展報表。
              下面,通過實例來介紹如何配置maven,來產(chǎn)生項目站點。
              首先創(chuàng)建相關(guān)的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
              當(dāng)然也可以不用通過此來生成站點,直接在原有的src目錄中增加site目錄就行。當(dāng)然,為了簡化操作,一般先生成相應(yīng)的site目錄,然后拷貝到相應(yīng)的src目錄中。
          修改pom文件
          增加以下內(nèi)容
                  <!-- 配置發(fā)布站點url -->
                     <distributionManagement>
                           <site>
                             <id>website</id>
                             <url>scp://webhost.company.com/www/website</url>
                        </site>
                     </distributionManagement>
                     <build>
                        <plugins>
                     <!-- 配置site 的國際化,默認(rèn)為en,fr,更改為zh_CN,以及設(shè)置編碼格式,默認(rèn)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>
              <!-- 默認(rèn)的link -->
              <links>
                <item name="Apache" />
                <item name="Maven 1.0" />
                <item name="Maven 2" />
              </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文件,默認(rèn)的apt都是iso-8859-1的,如果需要支持中文,需要使用native2ascii命令來轉(zhuǎn)換。

          報表:
          站點主要的配置,目前不錯的報表插件,包括javadoc,pmd,checkstyle,Surefire test,source xref,tag list等。
          下面詳細(xì)介紹這些報表:
          javadoc,對于團(tuán)隊內(nèi)部來說,javadoc是比較重要的,當(dāng)然前提是能好好的寫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,單元測試結(jié)果報表
                <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-surefire-report-plugin</artifactId>
                </plugin>

          source xref,在網(wǎng)站上直接察看java源代碼

               <plugin>
                  <groupId>org.apache.maven.plugins</groupId>
                  <artifactId>maven-jxr-plugin</artifactId>
                </plugin>

          tag list,用于查找在代碼中預(yù)定義的標(biāo)簽,如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>

          基本的站點已經(jīng)成型了,下面就是生成了。
          執(zhí)行mvn site 生成目錄,或者直接執(zhí)行 mvn site-deploy 發(fā)布站點
          posted on 2010-01-08 16:33 seal 閱讀(335) 評論(0)  編輯  收藏 所屬分類: Maven
          主站蜘蛛池模板: 库车县| 九寨沟县| 敦化市| 沁源县| 平顺县| 江门市| 香河县| 长寿区| 莫力| 临颍县| 隆德县| 普定县| 二连浩特市| 明水县| 嵊州市| 洛阳市| 阿坝县| 桃江县| 绵阳市| 丰顺县| 新化县| 句容市| 永年县| 延安市| 邵东县| 通化市| 什邡市| 抚松县| 新和县| 卫辉市| 定西市| 开化县| 香格里拉县| 友谊县| 贵州省| 加查县| 平乡县| 博野县| 阳曲县| 松原市| 北宁市|