Maven学习专题--Maven入门及安装
因为项目需要,新项目需要使用Maven开发,但是组内大部分没有接触过maven。我就毅然承担搭建maven环境的任务了。因为一切重头开始,就想把自己的整个搭建环境、项目创建、框架整合和模块管理整个过程记录下来,以便后来人方便学习。
整个Maven准备分四篇博客来解析分别是:Maven环境搭建、Maven入门项目、Maven整合三大框架和Maven分模块开发。闲话少说,整干货!!
一、Maven简介
Maven是Apache团队开发的一个项目管理工具、纯Java编写。基于项目对象模型(POM)的概念,Maven提供了开发人员构建一个完整的生命周期框架。开发团队可以自动完成项目的基础工具建设,Maven使用标准的目录结构和默认构建生命周期。
小结:Maven是一个项目工具、可以跨平台、对项目提供了一个完整的生命周期。
二、为什么使用Maven
本着实用优先原则及我实际工作中遇到的问题提出如下问题:
是否有这么一个项目,老大把项目所需jar包上传git后组内每个人都需要去clone后都导入了每个人的项目工程中?
自己负责的service代码需要等到dao哥们写好后导出jar包然后拷贝导入?
针对第一问题:如果使用Maven后通过对其依赖管理,并不需要将jar每次都要导入,而是通过索引方式自动去仓库加载索引对相应的jar包
针对第二问题:直接让dao哥们将其代码编译成jar包上传到仓库,自己对依赖管理进行配置,自动从仓库索引
通过上面的描述我自己都有点蒙了,下图对所谓的依赖管理(实际就是jar包管理)做下说明:

结合上图,我们看到Maven有本地仓库、本地私服仓库、中央仓库三个仓库。其中当本机电脑安装了Maven后就会有本地仓库(下个环境搭建主题讲)、而公司私服上的仓库就是分模块开发时jar包上传下载的仓库,对于本地仓库、本地私服仓库均没有的第三方开源免费jar包则会到中央仓库查找。
小结:maven项目占用磁盘空间少(仅仅有源码,jar包在仓库)、大型项目协同开发时更加方便。
三、环境搭建
环境:JDK1.8,maven-3.3.9,window7
安装步骤:
1、到http://maven.apache.org/下载apache-maven-3.3.9-bin.zip
2、放到合适的目录解压并配置换变量
如下图:


3、验证:mvn -v

注:elipse中比较新一点的版本均已经集成了Maven故,如何在老版本中安装插件,不在赘述。
4、eclipse中maven插件配置修改
4.1:指定maven路径

4.2:修改maven本地仓库配置路径

4.3:eclipse指定本地仓库路径

至此maven第一篇就应该结束了,但是我个人感觉在为什么使用maven部分有很多没有讲清楚,写博客也许不仅仅是体力活吧,更是需要文笔能力。只希望有错误不妥之处请及时留言。
Maven学习专题--Maven入门及安装的更多相关文章
- Maven学习笔记-01-Maven入门
一 Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,依赖管理和项目信息管理. 1 项 ...
- Maven学习(1) - Maven入门
home index:http://maven.apache.org/ download:http://maven.apache.org/download.cgi install: http://ma ...
- Maven学习总结--maven入门(一)
一.Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,依赖管理和项目信息管理.
- Maven学习 二 Maven环境搭建
第一步:下载Maven并解压 注意选择镜像地址,选择国内的会快点 解压目录 Maven目录分析 bin:含有mvn运行的脚本 boot:含有plexus-classworlds类加载器框架 conf: ...
- Maven学习- 使用Maven构建Web项目
从网上查了一些资料,才算明白(也就是怎么操作吧),怎么使用Maven构建一个Web项目,找到一篇文档,主要都是从这里学到的: 下载地址:使用Eclipse构建Maven的Web项目.docx 现自己在 ...
- Maven学习(六)-----Maven仓库的详细介绍
Maven仓库的详细介绍 在Maven中,任何一个依赖.插件或者项目构建的输出,都可以称之为构件.Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依 ...
- maven 学习---使用Maven创建Java项目
在本教程中,我们将向你展示如何使用 Maven 来创建一个 Java 项目,导入其到Eclipse IDE,并打包 Java 项目到一个 JAR 文件. 所需要的工具: Maven 3.3.3 Ecl ...
- Maven学习(十七)-----Maven外部依赖
Maven外部依赖 正如大家所了解的那样,Maven确实使用 Maven 库的概念作依赖管理.但是,如果依赖是在远程存储库和中央存储库不提供那会怎么样? Maven 提供为使用外部依赖的概念,就是应用 ...
- Maven学习(三)-----Maven本地资源库
Maven本地资源库 Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹.很简单,当你建立一个Maven项目,所有相关文件将被存储在你的M ...
随机推荐
- java虚拟机学习-慢慢琢磨JVM(2)
1 JVM简介 JVM是我们Javaer的最基本功底了,刚开始学Java的时候,一般都是从“Hello World”开始的,然后会写个复杂点class,然后再找一些开源框架,比如Spring,Hibe ...
- Apache许可翻译
https://www.apache.org/licenses/LICENSE-2.0 Apache许可 2.0 2004.1 使用.复制和发行的术语和条件. 1 定义 "License&q ...
- AutoMapper总结
AutoMapper是一个对象和对象间的映射器.对象与对象的映射是通过转变一种类型的输入对象为一种不同类型的输出对象工作的.让AutoMapper有意思的地方在于它提供了一些将类型A映射到类型B这种无 ...
- Ubuntu安装genymotion模拟器步骤
1.安装VitrualBox genymotion模拟器需要有VirtualBox环境,打开终端(ctrl + alt + T),执行以下命令: sudo apt-get install virtua ...
- 容器常用操作 - 每天5分钟玩转 Docker 容器技术(25)
前面讨论了如何运行容器,本节学习容器的其他常用操作. stop/start/restart 容器 通过 docker stop 可以停止运行的容器. 容器在 docker host 中实际上是一个进程 ...
- 动态添加Redis密码认证
如果redis已在线上业务使用中,但没有添加密码认证,那么如何在不影响业务服务的前提下给redis添加密码认证,就是一个需要仔细考虑的问题. 本文描述一种可行的方案,适用于客户端使用了jedis连接池 ...
- 解决Centos crontab没有按时运行的问题
我装了centos,用一点一直无法搞定,就是定时关机.我只是想做这一件事: 每天凌晨1点自动关机 0 1 * * * shutdown now -h 然而,无论我如何设置,都是失败. 每当我睡了一觉, ...
- HTML5 客户端存储数据的两种方式
HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 之前,这些都是由 coo ...
- Realm的简单使用
Realm个人理解: 它主要是一套移动端数据库框架,将对数据库表的操作转换为对对象的操作,如果是学过Java ORM框架的同学使用Realm起来应该上手比较快一点.而且据我所知Realm不仅支持Obj ...
- orcale设置自增列
create sequence SEQ_ERRORID minvalue 1 maxvalue 99999999 start with 1000 increment by 1 nocache orde ...