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+(尽量新,新肯定支持,旧 ...
随机推荐
- sync_binlog innodb_flush_log_at_trx_commit 浅析
一 参数意义 innodb_flush_log_at_trx_commit 如果innodb_flush_log_at_trx_commit设置为0,log buffer将每秒一次地写入log fil ...
- 表迁移工具的选型-xtrabackup的使用
1.1. 场景 有的时候test人员可能需要在测试库上比较新的数据,这时候只能是从生产库上面去那了.如果是小表还好实用mysqldump/mysqlpump就可以轻松的解决.但是,如果遇到了大表这将是 ...
- 【转载】HDFS 上传文件不均衡和Balancer太慢的问题
向HDFS上传文件,如果是从某个datanode开始上传文件,会导致上传的数据优先写满当前datanode的磁盘,这对于运行分布式程序是非常不利的. 解决的办法: 1.从其他非datanode节点上传 ...
- dataZoom 详细参数
dataZoom:[ //区域缩放 { id: 'dataZoomX', show:true, //是否显示 组件.如果设置为 false,不会显示,但是数据过滤的功能还存在. backgroundC ...
- 原生js选项卡
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...
- WEB相关系列
一.Nginx(web服务器) Nginx概述和安装(1) Nginx配置文件(2) Nginx日常维护操作(3) Nginx常用配置实例(4) Nginx常用功能(5) Nginx性能优化技巧(6) ...
- django命令(笔记,自己看的)
新建一个项目,名字为mysite:django-admin.py startproject mysite 新建一个应用App,名字为apppython manage.py startapp learn ...
- 通俗的解释JAVA wait/notify机制
生活中,我们常遇到需要等待的场景,例如去银行办事,在没轮到自己之前需要一直等待,但是如果需要自己每隔几秒钟就去柜台前看看状况,那肯定是种非常低效和令人恼火的体验.而实际的情况是,接待员会让您拿个号,说 ...
- Jfinal-Plugin源码解读
PS:cnxieyang@163.com/xieyang@e6yun.com 本文就Jfinal-plugin的源码进行分析和解读 Plugin继承及实现关系类图如下,常用的是Iplugin的三个集成 ...
- 2-Sat+输出可行解(个人模版)
2-Sat+输出可行解: //LightOJ 1251 #include<stdio.h> #include<string.h> #include<vector> ...