首页 » Java程序员修炼之道 » Java程序员修炼之道全文在线阅读

《Java程序员修炼之道》A.2 下载并安装Maven

关灯直达底部

可以到http://maven.apache.org/download.html下载Maven。在第12章的例子中,我们用的是Maven 3.0.3。如果你用的是*nix操作系统,请下载apache-maven-3.0.3-bin.tar.gz,如果是Windows,则下载apache-maven-3.0.3-bin.zip。文件下载完成后,只要选好目录把文件解压(untar/gunzip或unzip)就行了。

警告 跟很多Java/JVM相关软件的安装一样,在安装Maven的目录名称中也不要有空格,否则可能会出现PATHCLASSPATH错误。比如说,如果你用的是Windows操作系统,不要把Maven装在C:/Program Files/Maven/这样的目录中。

在下载和解压完成后,接下来就是设置M2_HOME环境变量。在*nix系统中,需要加一些下面这样的东西:

M2_HOME=/opt/apache-maven-3.0.3  

在Windows系统中是这样的:

M2_HOME=C:/apache-maven-3.0.3  

你可能在想:“为什么是M2_HOME而不是M3_HOME?毕竟这是Maven 3,对不对?”这是因为Maven的开发团队真的很想跟得到广泛应用的Maven 2保持兼容。

Maven需要Java JDK才能运行。1.5之后的版本都行(当然,到这一阶段,你已经装好JDK 1.7了)。还需要确保环境变量JAVA_HOME已经设置好了——如果已经装好Java了,那这个环境变量可能已经设置好了。还需要能在命令行中的任何地方执行Maven相关的命令,所以应该在PATH中加上M2_HOME/bin目录。在*nix系统中,需要加一些下面这样的东西:

PATH=$PATH:$M2_HOME/bin  

在Windows系统中是这样的:

PATH=%PATH%;%M2_HOME%/bin  

现在可以带着-version参数执行Maven(mvn),以确保基本安装可用。

mvn -version  

应该能见到Maven输出了类似下面这种信息:

Apache Maven 3.0.3 (r1075438; 2011-02-28 17:31:09+0000)Maven home: C:/apache-maven-3.0.3Java version: 1.7.0, vendor: Oracle CorporationJava home: C:/Java/jdk1.7.0/jreDefault locale: en_GB, platform encoding: Cp1252OS name: "windows xp", version: "5.1", arch: "x86", family: "windows"  

如你所见,Maven批量输出了很多实用的配置信息,这样你就知道Maven及其依赖项在你的平台上都OK了。

提示 主流IDE(Eclipse、IntelliJ和NetBeans)都支持Maven,所以熟悉了Maven在命令行中的使用方法之后,可以直接切换到IDE集成的版本。

现在Maven已经装好了,该去看看用户设置放在哪里了。为了触发用户设置目录的创建,需要确保Maven插件已经下载并安装好了。执行起来最简单的是帮助(Help)插件。

mvn help:system  

这会下载、安装、并运行帮助插件,它给出的信息要比mvn –version还多。还会确保.m2目录已经创建好了。知道用户设置放哪里很重要,因为有那么几次你可能需要编辑用户设置,比如让Maven能用在一个代理服务器后面。home目录(我们会用$HOME表示)中能看到表A-1中列出的目录和文件。

表A-1 Maven用户目录和文件1

题材解释$HOME/.m2包含Maven用户配置的隐藏目录$HOME/.m2/settings.xml包含用户特定配置的文件。在这个文件中可以指定旁路代理、私有资源库以及定制Maven行为的其他信息$HOME/.m2/repository/Maven的本地资源库。当Maven从Maven Central(或其他的远程Maven资源库)下载插件或依赖项时,它会在本地资源库中保存一份副本。在你用install目标安装本地依赖项时也是这样。这样Maven就可以用本地副本,而不用每次都去下载了

1 向Sonatype致敬,引自Maven: the Complete Reference在线手册(www.sonatype.com/Request/Book/Maven-The-Complete-Reference)。

注意,用.m2目录还是因为要保持跟Maven 2的向后兼容(而不是你认为的.m3目录)。

现在已经装好了Maven,也知道用户配置在哪里了,可以开始构建java7developer了。