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+(尽量新,新肯定支持,旧 ...
随机推荐
- 深入理解ES6之—数据解构
一 对象解构 对象解构语法在赋值语句的左侧使用了对象字面量 let node = { type: true, name: false } //既声明又赋值 let { type, name } = n ...
- 利用树莓派实现监控系统二(用motion实现监控)
终于要开始实现监控啦!ಠ౪ಠ 看起来很简单的步骤,但是过程却无比艰辛,踩坑是最好的成长 (/= _ =)/~┴┴ 第一步,不是安装!而是 update!ㄟ( ▔, ▔ )ㄏ sudo apt-get ...
- while求1+2+3+4+5+6....100的和
#求1到100的和. #声明i初始变量 i = 1 #声明y初始变量 y = 1 #开始循环条件为i不等于100,则执行while代码块 while i != 100: #给i加1 i += 1 #y ...
- windbg关于.NET分析的扩展命令
收到一个dump文件,运行环境的.net framework的详细版本是多少呢? dump信息与性能计数器结合分析时,想知道该dump运行的进程号是多少? dump定位到有效的堆栈信息,而对应的源码是 ...
- 12、ABPZero系列教程之拼多多卖家工具 拼团提醒功能登录拼多多实现
上篇文章已经完成了整个拼多多拼团提醒功能,本篇继续完成拼多多帐号登录,拼多多帐号登录的目的是为了获取拼团商品的SKU和订单号,便于商家备货. 以下是拼多多官方的后台登录,要实现的功能并不是直接在这里登 ...
- linux(三)之linux常用命令二
今天就是星期五了,又可以休息两天了.有点小激动,开心.不过还是要加油,因为还有很多东西等着我去学习呢! 七.chmod 作用:修改文件的权限 7.1.命令格式:chmod mode filename ...
- POJ 3662 Telephone Lines【Dijkstra最短路+二分求解】
Telephone Lines Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 7214 Accepted: 2638 D ...
- CodeForces798-B. Mike and strings-string中的find()函数
好久好久好久之前的一个题,今天翻cf,发现这个题没过,补一下. B. Mike and strings time limit per test 2 seconds memory limit per t ...
- UOJ#152. 【UR #10】汉诺塔
题目:http://uoj.ac/problem/152 orzKPM... 分治,把数字是l~mid的拿出来放在一根柱子上,mid+1~r放在另一根柱子上.如此递归下去,每次递归只是改一下方向,l, ...
- 初步了解关于js跨域问题-jsonp
js跨域问题是指在js在不同的域中进行数据传输或者数据通信,比如通过ajax向不同的域请求数据(说到ajax,不可避免的就会遇到两个问题:一是ajax是如何传递数据的?二是ajax是如何实现跨域的?) ...