??? 使用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) 編輯 收藏 所屬分類:
配置管理