閑人野居
          好好學習,天天向上
          posts - 57,  comments - 137,  trackbacks - 0
          ??? 使用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 2007-01-31 20:22 布衣郎 閱讀(2333) 評論(0)  編輯  收藏 所屬分類: 配置管理

          <2007年1月>
          31123456
          78910111213
          14151617181920
          21222324252627
          28293031123
          45678910

          常用鏈接

          留言簿(12)

          隨筆分類(59)

          隨筆檔案(57)

          blog

          java

          uml

          搜索

          •  

          積分與排名

          • 積分 - 357320
          • 排名 - 155

          最新評論

          閱讀排行榜

          評論排行榜

          主站蜘蛛池模板: 东莞市| 南华县| 武义县| 林口县| 西峡县| 安仁县| 肇庆市| 高阳县| 久治县| 平江县| 上犹县| 奈曼旗| 南郑县| 烟台市| 东台市| 盐池县| 广州市| 高邑县| 左贡县| 和顺县| 盐亭县| 二连浩特市| 三明市| 青川县| 昆山市| 苍山县| 台北县| 搜索| 平阴县| 金阳县| 靖边县| 湖口县| 卫辉市| 湘阴县| 慈利县| 南通市| 榆树市| 宜兰市| 商南县| 瑞丽市| 桂林市|