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+(尽量新,新肯定支持,旧 ...
随机推荐
- windows 驱动开发入门——驱动中的数据结构
最近在学习驱动编程方面的内容,在这将自己的一些心得分享出来,供大家参考,与大家共同进步,本人学习驱动主要是通过两本书--<独钓寒江 windows安全编程> 和 <windows驱动 ...
- 解决Fiddler出现无线弹框 "creation of the root certificate was not successful”的问题
打开Fiddler 访问:http://localhost:8888/ 安装证书,如果提示没有证书(8888是你在Tool->Fiddler Option->Connections设置的F ...
- WebAPI 实现前后端分离
随着Web技术的发展,现在各种框架,前端的,后端的,数不胜数.全栈工程师的压力越来越大. 现在的前端的框架,既可以做各种Web,又可以做各种APP,前端框架更新换代越来越快,越来越多. 传统的模式 前 ...
- Angular整合zTree
1 前提准备 1.1 新建一个angular4项目 参考博文:点击前往 1.2 去zTree官网下载zTree zTree官网:点击前往 三少使用的版本:点击前往 2 编程步骤 从打印出zTree对象 ...
- c++(合并排序)
前面一篇博客提到的快速排序是排序算法中的一种经典算法.和快速排序一样,合并排序是另外一种经常使用的排序算法.那么合并排序算法有什么不同呢?关键之处就体现在这个合并上面. 合并算法的基本步骤如下所 ...
- c++(查找)
无论是数据库,还是普通的ERP系统,查找功能数据处理的一个基本功能.数据查找并不复杂,但是如何实现数据又快又好地查找呢?前人在实践中积累的一些方法,值得我们好好学些一下.我们假定查找的数据唯一存在,数 ...
- FineReport调用存储过程
"总结一下本人在项目中遇到的问题,如何在数据库表名未知且作为一种查询条件的情况下查询出数据集,仅能通过FineReport+Oracle实现. 首先分析这个问题的条件和要求: 条件:只有一个 ...
- JXLS 2.4.0系列教程(二)——循环导出一个链表的数据
请务必先看上一篇文章,本文在上一篇文章的代码基础上修改而成. JXLS 2.4.0系列教程(一)--最简单的模板导出 上一篇文章我们介绍了JXLS和模板导出最简单的应用,现在我们要更进一步,介绍在模板 ...
- BLE空中升级 谈(二)
BLE 空中升级谈 -- CC2541 的产品开发中OAD注意事项(续) TI CC2541支持多个硬件,多个软件对它进行空中升级,可以有不同的组合,硬件有 编号 名称 Hex 用法 1 Cc2540 ...
- 非阻塞式的原子性操作-CAS应用及原理
一:问题抛出 假设在出现高并发的情况下对一个整数变量做依次递增操作,下面这两段代码是否会出现问题? 1. public class IntegerTest { private static Integ ...