一、下载及安装
1.1 下载maven 3.1.1
先到官网http://maven.apache.org/download.cgi 下载最新版本(目前是3.1.1 ),下载完成后,解压到某个目录.
2.1 配置环境变量
系统环境变量里,添加MAVEN_HOME(或M2_HOME),其值为解压路径,然后PATH环境变量最后附加上";%MAVEN_HOME%\bin"。还可以追加MAVEN_OPTS,设定maven的java虚拟机内存使用量:-Xms128m -Xms512m
检测方法:
a) 重新进入命令行(DOS窗口)模式,输入 echo %MAVEN_HOME% 如果能显示 C:\Java\maven-3.1.1 说明环境变量起作用了
b) 输入 mvn -version,正常情况下会显示maven及jdk的版本号
(前提:jdk环境必须先安装好,否则后面无法正常编译项目)
3 理解“仓库”
首次运行完mvn -version后,会在用户目录下创建一个.m2的目录(比如:C:\Users\当前用户名\.m2\),这个目录是maven的“本地仓库”,仓库是maven中一个很重要的概念。
试想一下,我们会在工作中同时创建很多项目,每个项目可能都会引用一些公用的jar包(.NET中是dll文件),一种作法是每个项目里,都复制一份这些依赖的jar包(或dll文件),这样显然不好,相同的文件在硬盘上保存了多份,太占用空间,而且这些依赖的jar包(或dll文件)的版本也不太好管理(比如某个公用的jar包,从1.0升级到2.0,如果所有引用这个jar包的项目都需要更新,必须一个个项目的修改)。
maven的仓库则很好的解决了这些问题,它在每台机器上创建一个本机仓库,把本机上所有maven项目依赖的jar包统一管理起来,而且这些jar包用“坐标”来唯一标识(注:坐标是另一个重要的概念,后面还会讲到,这里只要简单理解成“唯一识别某个jar包文件名、版本号”的标识即可),这样所有maven项目就不需要再象以前那样把jar包复制到lib目录中,整个maven项目看起来十分清爽。
4 配置代理服务器(可选)
maven项目在编译、测试、打包里,会需要从maven的中央仓库(即:maven组织公布在互联网上的一个站点,里面已经收录了目前绝大多数主流的jar包)下载jar包等文件,如果使用代理服务器上网,需要配置代理服务器。
把%MAVEN_HOME%\conf\settings.xml复制一份到本地仓库C:\Users\当前用户名\.m2\下,然后编辑该文件,找到下面这段
<proxies>
<!-- proxy
Specification for one proxy, to be used in connecting to the network.
<proxy>
<id>optional</id>
<active>true</active>
<protocol>http</protocol>
<username>proxyuser</username>
<password>proxypass</password>
<host>proxy.host.net</host>
<port>80</port>
<nonProxyHosts>local.net|some.host.com</nonProxyHosts>
</proxy>
-->
</proxies>
把注释去掉,host这里填写代理服务器的地址(可以用IP)以及port端口,如果需要用户名/密码认证,则填写username/password节点,否则username/password这二个节点去掉,nonProxyHosts表示某些地址不需要经过代理服务器,多个地址之间用|分隔,支持通配符,比如172.156.*
二、使用Maven
1、基于Archetype创建工程:
使用Maven的archetype可以从Maven中央仓库快速生成一个新项目 。
在Eclipse中的Maven配置下,Archetypes中如果没有archetypes列出,可以新增远程列表:
点击Add Remote Catalog...,在弹出框中输入以下地址:
http://repo1.maven.org/maven2/archetype-catalog.xml
这样就可以在Eclipse中新建Maven项目,根据向导从Maven中央仓库中获取各种项目模板了。
2、maven 关联本地项目jar包
<dependency>
<groupId>com.artofsolving</groupId>
<artifactId>jodconverter-core</artifactId>
<version>3.0-beta-4</version>
<scope>system</scope>
<systemPath>${basedir}/lib/jodconverter-core-3.0-beta-4.jar</systemPath>
</dependency>
注意lib目录必须与pom.xml同级。