Java项目中最常用的编译工具是Ant,Ant解析XML配置文件,即build.xml,执行Target来实现用户目标的编译工作。Maven也是一个非常好用的编译工具,Maven类似于Ant也是有一个配置文件来配置编译信息,即pom.xml. 本文简要描述Maven的简单实用。
1,Maven的安装
Maven安装很简单,下载包下来,加压到目录,例如D:\maven。
将Maven bin目录加到path环境变量:
path=%path%;d:\maven\bin
这样打开CMD就可以在任意位置执行 mvn 命令了。
检验安装是否成功的命令:
D:\Nokia\SVN> mvn -version
Apache Maven 2.2.1 (r801777; 2009-08-07 03:16:01+0800)
Java version: 1.6.0_27
Java home: C:\Program Files\Java\jdk1.6.0_27\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows xp" version: "5.1" arch: "x86" Family: "windows"
2, Maven 生成项目目录结构
这个功能可以自动为我们生成标准的项目目录结构,不过经验上看,其实这个功能用的少,自己在开发工具上创建也花不了多少时间。
mvn archetype:create -DgroupId=com.nokia -DartifactId=testApp
生成的目录结构为:
testApp
----src
    ----main
        ----java
          ----com
              ----nokia
    ----test
        ----java
            ----com
                ----nokia
3,创建Maven 配置文件pom.xml
pom.xml是Maven的配置文件,在这里可以配置项目名称,项目依赖等等
示例:
<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
    <parent>
        <artifactId>testApp</artifactId>
        <groupId>com.testApp</groupId>
        <version>1.6.11</version>
    </parent>
    <modelVersion>4.0.0</modelVersion>
    <artifactId>testApp-config-utils</artifactId>
    <name>testApp Config Utilities</name>
    <dependencies>
        <dependency>
            <groupId>com.testApp2</groupId>
            <artifactId>testApp-util</artifactId>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
</project>
4, Maven编译命令
创建好项目和配置文件后,我们就可以进入pom.xml文件所在目录执行以下命令进行编译工作:
--mvn test:运行应用程序中的单元测试
--mvn package:依据项目生成jar文件
--mvn install:将项目的jar文件添加到库中,以备依赖此项目时使用
--mvn site:生成项目相关信息的网站
--mvn clean:清除目标目录中的生成结果
--mvn eclipse:eclipse:生成Eclipse项目文件
5, 有用的一些Tips
5.1 忽略失败的单元测试,让编译继续执行:
<plugin>                    
  <groupId> org.apache.maven.plugins </groupId>        
  <artifactId> maven-surefire-plugin </artifactId>    
  <configuration>    
    <testFailureIgnore> true </testFailureIgnore>    
  </configuration>            
</plugin>
5.2 不执行单元测试
<plugin>                    
  <groupId> org.apache.maven.plugins </groupId>    
  <artifactId> maven-surefire-plugin </artifactId>    
  <configuration>    
    <skip> true </skip>    
  </configuration>    
</plugin>
5.3 配置存储库
要求项目的每个开发者必须在conf目录中配置存储库是不方便的,所以Maven可以同时查看多个存储库并且将它们全部配置在pom.xml文件中。
<repositories>
        <repository>
                    <id>Ibiblio</id>
                    <name>Ibiblio</name>
                    <url>http://www.ibiblio.org/maven/</url>
        </repository>
        <repository>
                    <id>PlanetMirror</id>
                    <name>Planet Mirror</name>
                    <url>http://public.planetmirror.com/pub/maven/</url>
        </repository>
</repositories>