一、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,重命名解压目录

配置环境变量:

[root@hadoop 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】。

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

Maven学习第2期---Maven安装配置的更多相关文章

  1. Maven学习第4期---Maven简单使用

    一.Maven常用命令 在学习使用Maven构建项目之前,先来了解一下Maven一些实用的命令.mvn的命令有很多,在项目开发中,理解了下面的几个常用命令后,运用maven就基本没有问题了.Maven ...

  2. Maven学习第1期---Maven简单介绍

    前言 Hadoop的MapReduce环境是一个复杂的编程环境,所以我们要尽可能地简化构建MapReduce项目的过程.Maven是一个很不错的自动化项目构建工具,通过Maven来帮助我们从复杂的环境 ...

  3. (转)Maven学习总结(三)——使用Maven构建项目

    孤傲苍狼 只为成功找方法,不为失败找借口! Maven学习总结(三)——使用Maven构建项目 maven作为一个高度自动化构建工具,本身提供了构建项目的功能,下面就来体验一下使用maven构建项目的 ...

  4. Maven学习笔记-03-Eclipse下maven项目在Tomcat7和Jetty6中部署调试

    现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...

  5. Maven学习笔记-04-Eclipse下maven项目在Tomcat7和Jetty6中部署调试

    现在最新的Eclipse Luna Release 已经内置了Maven插件,这让我们的工作简洁了不少,只要把项目直接导入就可以,不用考虑插件什么的问题,但是导入之后的项目既可以部署在Tomcat也可 ...

  6. (转)Maven学习总结(八)——使用Maven构建多模块项目

    孤傲苍狼只为成功找方法,不为失败找借口! Maven学习总结(八)——使用Maven构建多模块项目 在平时的Javaweb项目开发中为了便于后期的维护,我们一般会进行分层开发,最常见的就是分为doma ...

  7. Maven学习:Eclipse使用maven构建web项目(转)

    Maven学习:Eclipse使用maven构建web项目(转) 8.更改class路径:右键项目,Java Build Path -> Source 下面应该有4个文件夹.src/main/j ...

  8. Angularjs学习---ubuntu12.04中karma安装配置

    Angularjs学习---ubuntu12.04中karma安装配置中常见的问题总结   karma启动时出现了很多问题: 1.安装karma前提条件 安装karma首先要安装nodejs,npm然 ...

  9. caffe学习(1):多平台下安装配置caffe

    如何在 centos 7.3 上安装 caffe 深度学习工具   有好多朋友在安装 caffe 时遇到不少问题.(看文章的朋友希望关心一下我的创业项目趣智思成) 今天测试并整理一下安装过程.我是在阿 ...

随机推荐

  1. Android图片加载为什么选择glide

    为什么图片加载我首先Glide 图片加载框架用了不少,从afinal框架的afinalBitmap,Xutils的BitmapUtils,老牌框架universalImageLoader,著名开源组织 ...

  2. <自动化测试方案_10>第十章、自动化测试部署策略

    第十章.自动化测试部署策略 按照以下顺序部署自动化框架 1,部署API自动化    时间:三周2,部署PC端UI自动化 时间:1个月 3,部署Sonar代码质量管理 时间:1个月 4,集成到Jenki ...

  3. C程序

    /* 不适用C库函数,只是用 C 语言实现函数 void* memcpy( void *dst, const void *src, size_t len ) memmove 函数的功能是拷贝 src ...

  4. Thrift的C++服务端(线程池和非阻塞)模式

    非阻塞模式 #include "RpcServiceHandler.h" #include <thrift/concurrency/ThreadManager.h> # ...

  5. Mac 电脑如何安装mac os 和win7双系统(win7多分区)

    转载:Mac 电脑如何安装mac os 和win7双系统(win7多分区) 本文主要参考了2篇博文,并通过自己的亲身实践总结的.参考的2篇博文地址: http://wenku.baidu.com/li ...

  6. Linux中对逻辑卷的建立

    大体上与主分区的建立相同,只有一些不同. 建议大家先看下我的“Linux中安装硬盘后对硬盘的分区以及挂载”  https://www.cnblogs.com/feiquan/p/9219447.htm ...

  7. Vue2 学习笔记4

    文中例子代码请参考github 父组件向子组件传值 组件实例定义方式,注意:一定要使用props属性来定义父组件传递过来的数据 <script> // 创建 Vue 实例,得到 ViewM ...

  8. [HBase_3] HBase 命令

    0. 说明 1. HBase 命令 1.1 HBase 与 SQL 的区别 1.2 合并 HBase 中的小文件 major_compact 'test:t1' 1.3 删除数据的区别 HBase 在 ...

  9. JavaSE: SuppressWarnings[转]

    在java编译过程中会出现很多警告,有很多是安全的,但是每次编译有很多警告影响我们对error的过滤和修改,我们可以在代码中加上 @SuppressWarnings(“XXXX”) 来解决 例如:@S ...

  10. HTTP1.0 、1.1

    网上有很多资料说明这个,但都很长的,觉得东西太多也记不住,就记点东西,权当笔记. HTTP 超文本传输协议(HTTP,HyperText Transfer Protocol)是互联网上应用最为广泛的一 ...