一、Maven介绍
1.1 何为Maven
Maven这个词可以翻译为"知识的积累",也可以翻译为"专家"或"内行"。Maven是一个跨平台的项目管理工具,是Apache组织中的一个颇为成功的开源项目,
Maven主要服务于基于Java平台的项目构建、依赖管理和项目信息管理。无论是小型的开源类库项目,还是大型的企业级应用;无论是传统的瀑布式开发,还是流行的敏捷模式,Maven都能大显身手。
1.2 Maven用途
1.2.1 项目构建
在程序开发过程中,我们会发现,除了编写源代码,我们每天有相当一部分时问花在了编译、运行单元测试、生成文档、打包和部署等烦琐且不起眼的工作,这就是构建。如果我们现在还手工这样做,那成本也太高了,于是有人用软件的方法让这一系列工作作完全自动化,使得软件的构建可以像全自动流水线一样,只需要一条简单的命令,所有烦琐的步骤都能够自动完成,很快就能得到最终结果。
Maven的用途之一就是服务于构建,它是一个异常强大的构建工具,能够帮我们自动化构建过程,从清理、编译、测试到生成报告,再到打包和部署。我们不需要也不应该一遍又一遍地输入命令,一次又一次地点击鼠标,我们要做的是使用Maven配置好项目,然后输入简单的命令,如mvn clean install。Maven会帮我们处理那些烦琐的任务。
Maven是跨平台的,这意味着无论是在Windows上,还是在Linux上或者Mac上,都可以使用同样的命令。
1.2.2 依赖管理
Java不仅是一门编程语言,还是一个平台,通过JRuby和Jython,我们可以在Java平台上编写和运行Ruby和Python程序。我们也应该认识到,Maven不仅是构建工具,还是一个依赖管理工具和项目信息管理工具。它提供了中央仓库,能帮我们自动下载构件。
在这个开源的年代里,几乎任何Java应用都会借用一些第三方的开源类库,这些类库都可通过依赖的方式引入到项目中来。随着依赖的增多,版本不一致、版本冲突、依赖臃肿等问题都会接踵而来。手工解决这些问题是十分枯燥的,幸运的是Maven提供了一个优秀的解决方案,它通过一个坐标系统准确地定位每一个构件(artifact),也就是通过一组坐标Maven能够找到任何一个Java类库,如jar文件。Maven给这个类库世界引入了经纬,让它们变得有秩序,于是我们可以借助它来有序地管理依赖,轻松地解决那些繁杂的依赖问题。
1.2.3 项目信息管理
除了上述之外,Maven还能帮助我们管理原本分散在项目中各个角落的项目信息,包括项目描述、开发者列表、版本控制系统地址、许可证、缺陷管理系统地址等。这些微小的变化看起来很琐碎,并不起眼,但却在不知不觉中为我们节省了大量寻找信息的时间。除了直接的项目倍息,通过Maven自动生成的站点,以及一些已有的插件,我们还能够轻松获得项目文档、测试报告、静态分析报告、源码版本日志报告等非常具有价值的项目信息。
Maven还为全世界的Java开发者提供了一个免费的中央仓库,在其中几乎可以找到任何的流行开源类库。通过一些Maven的衍生工具(如Nexus),我们还能对其进行快速地搜索。只要定位了坐标,Maven就能够帮我们自动下载,省去了手工劳动。
使用Maven还能享受一个额外的好处,即Maven对于项目目录结构、测试用例命名方式等内容都有既定的规则,只要遵循了这些成熟的规则,用户在项目间切换的时候就免去了额外的学习成本,可以说是约定优于配置。
二、Maven安装配置
2.1 Windows安装配置Maven
环境准备:
Windows 7 旗舰版
Eclipse 3.7 版本代号 Indigo 【靛青】JDK 1.6
maven 3.2.5
Maven安装:
安装 Maven 之前,要求先确定你的 JDK 已经安装配置完成。Maven是 Apache 下的一个项目,目前最新版本是 3.2.5,我用的也是这个。 首先去官网下载 Maven:
http://maven.apache.org/download.cgi,选择apache-maven-3.2.5-bin.zip下载
下载完成之后将其解压,我将解压后的文件夹重命名成 maven,并将它放在如下目录:
F:\Tools\DevelopTool\maven
配置Maven环境变量:
系统变量:MAVEN_HOME = F:\Tools\DevelopTool\maven
用户变量:path = %MAVEN_HOME%\bin
打开 cmd,在里面敲:mvn -version,如果能打印如下信息,说明到此 Maven3 已经在你的电脑上安装完成
修改 maven 仓库存放位置
找到 maven 下的 conf 下的 settings.xml 配置文件,我的是在F:\Tools\DevelopTool\maven \conf\settings.xml
maven 的仓库默认是放在本地用户的临时文件夹下面的 .m2 文件夹下的 repository 下,我的是在 C:\Users\hadoop\.m2\repository 目录下,我们可以将其修改为指定的的路径下,如要将仓库指定到 F:\Tools\DevelopTool\MavenSource目录下,只需要将上面注销的本地仓库打开,然后把相应的路径值写到里面去就行了。
2.2 Linux安装配置Maven
环境准备:
Centos 6.4
Eclipse 3.7 版本代号 Indigo 【靛青】JDK 1.6
maven 3.2.5
检查JDK:
下载Maven:
安装 Maven 之前,要求先确定你的 JDK 已经安装配置完成。Maven是 Apache 下的一个项目,目前最新版本是 3.2.5,我用的也是这个。 首先去官网下载 Maven:
http://maven.apache.org/download.cgi,选择apache-maven-3.2.5-bin.tar.gz下载
Maven安装
执行:tar -zxvf apache-maven-3.2.5-bin.tar.gz,解压Maven压缩文件
执行:mv apache-maven-3.2.5 maven,重命名解压目录
配置环境变量:
[[email protected] local]# vi /etc/profile
export MAVEN_HOME=/usr/local/maven
export PATH=".:$JAVA_HOME/bin: $MAVEN_HOME/bin:$PATH"
三、安装m2eclipse
Eclipse是一款非常优秀的IDE,除了基本的语法标亮、代码补齐、XML编辑等基本功能外,最新版的Eclipse还能很好地支持重构,并且集成了JUnit、CVS、Mylyn等各种流行工具。可惜Eclipse默认没有集成对Maven的支持。幸运的是,由Maven之父Jason Van Zyl创立的Sonatype公司建立了m2 eclipse项目。这是Eclipse下的一款十分强大的Maven插件,可以访问http://www.eclipse.org/m2e/,了解更多该项目的信息。
3.1 安装方式
eclipse 安装插件的方式最常见的有两种:
在线安装
这种安装方式,貌似是用的最多的。具体操作就是就是:Help --> Install New Software,然后输入 HTTP 地址来安装,但有一个很明显的缺点,就是慢。
离线安装
这种安装方式,用 link 的方式来安装,这种方式可拔性更好,可以随时将插件插上和拔下,非常方便。
3.2 在线安装方式
现在以Eclipse 3.7为例逐步讲解m2eclipse的在线安装。启动Eclipse之后,在菜单栏中选择Help,然后选择Install New Software:
接着你会看到一个Install对话框,单击WorkWith字段边上的Add按钮,会弹出一个新的Add Repository对话框:
在Name字段中输入m2eclipse,在Location字段中输入http://download.eclipse.org/technology/m2e/releases,然后单击OK按钮 Eclipse会下载m2 eclipse安装站点上的资源信息等待资源载人完成之后,再将其全部展开,就能看到下图所示的界面。
3.3 离线安装方式
安装配置
m2eclipse的安装方式比较简单,下载m2eclipse插件的压缩包:
http://download.csdn.net/detail/honestjiang/8503613
解压eclipse-maven3-plugin.zip后的目录结构如下:
|---eclipse-maven3-plugin
|---links
|---myplugins
根据自己的eclipse安装位置,修改links目录下的maven.link文件:
path=E:\\MyHadoopWorkPlat\\eclipse\\myplugins\\maven
保存关闭 maven.link,重启 eclipse
检查安装
检查 eclipse 的 maven 插件是否安装成功:Window --> Preferences
配置Maven
选择Installation,点击 Add 按钮,选到你本机安装 maven 的路径值
选择UserSetting,点击 Browse 按钮,选到你 maven 的 setting.xml 配置文件,然后点击 OK
如果,您认为阅读这篇博客让您有些收获,不妨点击一下右下角的【推荐】。
如果,您希望更容易地发现我的新博客,不妨点击一下左下角的【关注我】。
如果,您对我的博客所讲述的内容有兴趣,请继续关注我的后续博客,我是【Sunddenly】。本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。