maven2 建立统一的管理站点

    技术2022-05-11  90

    使用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/" temp_href="http://www.apache.org/" />       <item name="Maven 1.0" href="http://maven.apache.org/" temp_href="http://maven.apache.org/"/>       <item name="Maven 2" href="http://maven.apache.org/maven2/" temp_href="http://maven.apache.org/maven2/"/>     </links>    <!-- 菜单项 -->     <menu name="Maven 2.0">       <item name="Introduction" href="index.html" temp_href="index.html"/>       <item name="Download" href="download.html" temp_href="download.html"/>       <item name="Release Notes" href="release-notes.html" temp_href="release-notes.html" />       <item name="General Information" href="about.html" temp_href="about.html"/>       <item name="For Maven 1.0 Users" href="maven1.html" temp_href="maven1.html"/>       <item name="Road Map" href="roadmap.html" temp_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 发布站点 

    最新回复(0)