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" />
                <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文件,默認的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 閱讀(335) 評論(0)  編輯  收藏 所屬分類: Maven
          主站蜘蛛池模板: 上饶市| 丹巴县| 永福县| 吴桥县| 威海市| 沅陵县| 元氏县| 酉阳| 灵台县| 弥勒县| 会宁县| 德清县| 汾西县| 大港区| 饶河县| 长海县| 冀州市| 商南县| 班戈县| 通州市| 东乌珠穆沁旗| 日土县| 万安县| 孟村| 南陵县| 拉萨市| 浑源县| 汝城县| 扬中市| 崇州市| 清涧县| 甘德县| 阜阳市| 江安县| 金塔县| 镇康县| 澄江县| 泽州县| 广宗县| 汉阴县| 竹北市|