maven(项目管理工具系列 maven 总结二)
♣maven是什么?
♣maven下载、安装
♣了解maven仓库
♣eclipse配置maven
♣创建maven项目
♣把maven项目转化为web项目
1.maven是什么?
Maven是一个项目管理和综合工具。Maven简化和标准化项目建设过程。处理编译,分配,文档,团队协作和其他任务的无缝连接。Maven是一个比Ant更先进的项目管理工具,它采用了一种“约定优于配置(CoC)”的策略来管理项目。
不使用maven有什么问题?
1.在开发中,为了保证编译通过,我们会到处去寻找jar包,当编译通过了,运行的时候,却发现"ClassNotFoundException",我们想到的是,难道还差jar包?
2.每个Java项目的目录结构都没有一个统一的标准,配置文件到处都是,单元测试代码到底应该放在那里也没有一个权威的规范。
所以,Maven主要做了两件事:
1.统一开发规范与工具
2.统一管理jar包
总之,Maven简化和标准化项目建设过程。
2.maven下载、安装
2.1下载 Maven压缩包
maven下载地址: http://maven.apache.org/download.cgi
window系统下载*.zip压缩包,linux下载.gz压缩包。

解压到本地,因为我在写这篇教程的时候电脑就装好了,而且我下载的是maven-3.0.5,解压到如下路径(解压目录不要有中文字,不要有空格):

2.2设置系统环境变量,MAVEN_HOME
该变量指向Maven安装路径。这里我的路径是 E:\javaEdit\maven\apache-maven-3.0.5

2.3设置环境变量Path
将%MAVEN_HOME%\bin加入Path中,一定要注意要用分号;与其他值隔开
因为Maven工具的关键命令就是%MAVEN_HOME%\bin路径下的mvn.bat命令,所以为了让操作系统可以识别该命令,就要设置环境变量Path

2.4验证安装成功
打开 cmd,输入:
mvn -v

Maven 安装成功!
3.了解maven仓库
使用 Maven 之前,我们必须要了解一下 Maven 到底是怎样管理 jar 包的,这就是 Maven 仓库要干的活了。
使用 Maven 给我们带来的最直接的好处,就是统一管理jar 包,那么这些 jar 包存放在哪里呢?它们就在您的 本地仓库 中,默认地址位于 C:\Users\用户名.m2 目录下(当然也可以修改这个默认地址),下面我们就修改一下这个默认地址。
实际上我们可以将本地仓库理解成“缓存”,目的是存放jar包。开发项目时项目首先会从本地仓库中获取 jar 包,当无法获取指定 jar 包的时候,本地仓库会从 远程仓库(或 中央仓库) 中下载 jar 包,并“缓存”到本地仓库中以备将来使用。
远程仓库(中央仓库)是 Maven 官方提供的,可通过 http://search.maven.org/ 来访问。这样一来,本地仓库会随着项目的积累越来越大。通过下面这张图可以清晰地表达项目、本地仓库、远程仓库之间的关系。

现在修改一下默认配置,将指定的目录代替掉默认的 C:\Users\用户名.m2 目录,作为我们的本地仓库:
修改maven\apache-maven-3.0.5\conf\setting.xml文件:

控制台输入:
mvn help:system
如图所示效果:

执行完该命令之后, 在 E:\javaEdit\maven\Repositories\Maven 下面就会多出很多文件,这些文件就是maven从中央仓库下载到本地仓库的文件,maven已经开始为我们工作了。

4.eclipse配置maven
4.1eclipse配置maven插件
eclipse安装插件有常用两种方式,在线方式和离线方式。这两种安装方式我建议大家使用离线方式,离线方式更加方便,简单。
4.1.1 在线安装:通过Help-->Install New Software的方式,输入HTTP地址来安装,简单易操作,但是也优缺点,就是下载速度慢,或者有的时候干脆搜索不到要安装的插件。使 用第一种方式来安装,输入 http 地址:http://m2eclipse.sonatype.org/sites/m2e,把选项勾上,然后等待它 下载安装,完成之后重启 eclipse 即可。

4.1.2 离线安装:
1.获得zest,m2e和m2e-extras三件文件夹,复制到eclipse安装目录的myplugins下(没有此目录则新建一个)

2.进入到eclipse中的dropins目录下,新建三个txt文件(zest.txt,m2e.txt,m2e-extras.txt)。其中每个文件内容如下:
path=E:\javaEdit\maven\apache-maven-3.0.5 (需将红色的路径修改你本机的实际插件的路径地址)

重新启动eclipse,点击windowsàpreferences ,可以看到maven了。
用link方式好处:这种方式偶合性低,想卸载,只需修改下dropins目录的文件即可。
4.2配置maven
点击Installations –> add 选择maven安装目录


5.创建maven项目
在Eclipse菜单栏中点击File->New->Other->Maven
选择Maven Project,请选中Create a simple project(skip archetype selection),之后点击Next

填写Group id和Artifact id, Version默认,Packaging默认为jar,Name,Description选填,其他的不填

group Id: 该项目的开发者的域名。
artifactId:指定项目名。
packaging:指定项目打包的类型。
version:指定项目的版本。
之后点击Finish即可,如图所示:

src/main/java:该目录主要放置java源代码;src/test/java:该目录主要用来存放测试代码;Maven Dependencies:这里主要放Maven管理的jar文件;target:用来存放Maven编译好的字节码文件;pom.xml:全称为Project Object Model,项目对象模型,定义了项目的基本信息,用于描述项目如何构建,声明项目依赖等。src:用来存放main和test中会使用到的其他文件等资源。
创建一个简单的maven项目,如果我们想创建一个Maven的web项目,把上面的Packaging的类型改为war,之后点击Finish即可,如图所示:

如果出现web.xml is missing and <failOnMissingWebXml> is set to true错误,则如下图解决:

6.把maven项目转化为web项目
6.1右键项目->properties
将下图中的红框处进行勾选:

6.2 设置部署程序集
继续右键项目->properties->Deployment Assembly
在右键项目打开此窗口.在左侧列表中会出现一个Deployment Assembly,点击进去后 (因为test是测试使用,并不需要部署,所以可以删除)
设置将Maven的jar包发布到lib下.
项目管理工具系列:
ant(项目管理工具系列 ant 总结一)
svn(项目管理工具系列 svn 总结三)
maven(项目管理工具系列 maven 总结二)的更多相关文章
- Maven 项目管理工具基础入门系列(二)
一.前言 在 Maven 项目管理工具基础知识系列(一) 这篇文章中,我们已经初步了解了 Maven,也知道了使用 Maven 作为项目管理工具的好处,特别是已经知道如何快速通过 Maven 构建 W ...
- Maven提高篇系列之(二)——配置Plugin到某个Phase(以Selenium集成测试为例)
这是一个Maven提高篇的系列,包含有以下文章: Maven提高篇系列之(一)——多模块 vs 继承 Maven提高篇系列之(二)——配置Plugin到某个Phase(以Selenium集成测试为例) ...
- Eclipse下安装及配置maven项目管理工具
①eclipse下maven插件安装. 本地maven安装.环境变量配置完成后,打开eclipse,点击eclipse菜单栏Help->Eclipse Marketplace搜索关键字maven ...
- Maven项目管理工具
Maven项目管理工具 白面郎君 Svn eclipse maven量级 1 Maven的简介 1.1 什么是maven 是apache下的一个开源项目,是纯java开发,并且只是用来管理java项目 ...
- Maven 项目管理工具基础知识系列(一)
一.Maven 简介 Maven 中文意为 " 内行.专家 ",是 Apache 下的一个开源项目,属于纯 Java 开发,并且只是用来管理 Java项目的,它是一款项目管理工具, ...
- 项目管理工具:Maven使用方法总结
阅读目录 一.概念 二.Maven安装 三.常用命令 四.生命周期 五.第一个Maven项目 六.POM文件 七.Maven库 八.参考资料 回到顶部 一.概念 Maven是一个项目管理和构建自动化工 ...
- 项目管理工具:Maven
Maven是什么,作用是什么? Maven是项目管理工具,主要有两大作用:项目构建和依赖管理.项目构建就是项目编译.测试.集成发布实现自动化,依赖管理是很方便的功能,只要把当前项目所依赖的构件(jar ...
- Maven项目管理工具初体验
在最前面声明,本文不涉及任何原理,只是对使用方法和期间遇到的问题如何解决.主要是随着年纪原来越大,越觉得好记星不如烂笔头的深意,同时如果能够帮助谁,那就最好不过了. 前两天自己做一个项目,然后好心朋友 ...
- Maven项目管理工具--简单实用与入门
Maven管理的方式就是"自动下载项目所需要的jar包,统一管理jar包之间的依赖关系" Maven下载与安装 1.首先确保JDK已安装,且JDK为1.6+(尽量新,新肯定支持,旧 ...
随机推荐
- 概率分布之间的距离度量以及python实现(四)
1.f 散度(f-divergence) KL-divergence 的坏处在于它是无界的.事实上KL-divergence 属于更广泛的 f-divergence 中的一种. 如果P和Q被定义成空间 ...
- 购物车css样式效果
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- java_web学习(三) eclipse_jsp学习
1.首先打开eclipse,新建一个Dynamac web project项目文件 2.在WebContent单击右键创建JSP File 3.过程 4.简单的jsp代码 运行结果: 5.导出war文 ...
- Sql的基础知识技巧(三)
三.技巧 1.1=1,1=2 的使用,在 SQL 语句组合时用的较多 "where 1=1" 是表示选择全部 "where 1=2"全部不选, 如:if @st ...
- 【CSS3 transform属性和过渡属性详解】
CSS3transform属性详解 transform字面上就是变形,改变的意思. 在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translat ...
- [bzoj1242] Zju1015 Fishing Net弦图判定
弦图判定..MCS算法. 先选一个点,然后每次拿 相邻已选点最多 的未选点. 选完之后判断一下是否是完美消除序列. #include<cstdio> #include<iostrea ...
- hdu_1045Fire Net(二分图匹配)
hdu_1045Fire Net(二分图匹配) 标签: 图论 二分图匹配 题目链接 Fire Net Time Limit: 2000/1000 MS (Java/Others) Memory Lim ...
- 微信小程序多列选择器之range-key
<picker mode="multiSelector" bindchange="bindMultiPickerChange2" bindcolumnch ...
- ThinkPHP3.2基础知识(三)
1.如何开启调试模式,开启调试模式有什么用处? // 开启调试模式 建议开发阶段开启 部署阶段注释或者设为false define('APP_DEBUG',True); 开启调试模式的用处:方便及时发 ...
- UserView--第二种方式(避免第一种方式Set饱和),基于Spark算子的java代码实现
UserView--第二种方式(避免第一种方式Set饱和),基于Spark算子的java代码实现 测试数据 java代码 package com.hzf.spark.study; import ...