因为项目需要,新项目需要使用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入门及安装的更多相关文章

  1. Maven学习笔记-01-Maven入门

    一 Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,依赖管理和项目信息管理. 1  项 ...

  2. Maven学习(1) - Maven入门

    home index:http://maven.apache.org/ download:http://maven.apache.org/download.cgi install: http://ma ...

  3. Maven学习总结--maven入门(一)

    一.Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服务于基于Java平台的项目构建,依赖管理和项目信息管理.

  4. Maven学习 二 Maven环境搭建

    第一步:下载Maven并解压 注意选择镜像地址,选择国内的会快点 解压目录 Maven目录分析 bin:含有mvn运行的脚本 boot:含有plexus-classworlds类加载器框架 conf: ...

  5. Maven学习- 使用Maven构建Web项目

    从网上查了一些资料,才算明白(也就是怎么操作吧),怎么使用Maven构建一个Web项目,找到一篇文档,主要都是从这里学到的: 下载地址:使用Eclipse构建Maven的Web项目.docx 现自己在 ...

  6. Maven学习(六)-----Maven仓库的详细介绍

    Maven仓库的详细介绍 在Maven中,任何一个依赖.插件或者项目构建的输出,都可以称之为构件.Maven在某个统一的位置存储所有项目的共享的构件,这个统一的位置,我们就称之为仓库.(仓库就是存放依 ...

  7. maven 学习---使用Maven创建Java项目

    在本教程中,我们将向你展示如何使用 Maven 来创建一个 Java 项目,导入其到Eclipse IDE,并打包 Java 项目到一个 JAR 文件. 所需要的工具: Maven 3.3.3 Ecl ...

  8. Maven学习(十七)-----Maven外部依赖

    Maven外部依赖 正如大家所了解的那样,Maven确实使用 Maven 库的概念作依赖管理.但是,如果依赖是在远程存储库和中央存储库不提供那会怎么样? Maven 提供为使用外部依赖的概念,就是应用 ...

  9. Maven学习(三)-----Maven本地资源库

    Maven本地资源库 Maven的本地资源库是用来存储所有项目的依赖关系(插件jar和其他文件,这些文件被Maven下载)到本地文件夹.很简单,当你建立一个Maven项目,所有相关文件将被存储在你的M ...

随机推荐

  1. 用户输入与while循环

    函数input()的工作原理: 函数input()让程序短暂运行,等待用户输入一些文本,获取用户输入后将其存储在一个变量中 测试input()功能-- #!/usr/bin/env python#fi ...

  2. 微信小程序实战(商城)

    github地址(欢迎star):https://github.com/xiaobinwu/dj 版本:0.15.152900(暂未升级原因:升级后需要图片无法本地引用,必须使用image或是远程路径 ...

  3. Unsupervised Learning and Text Mining of Emotion Terms Using R

    Unsupervised learning refers to data science approaches that involve learning without a prior knowle ...

  4. R语言与分类算法的绩效评估(转)

    关于分类算法我们之前也讨论过了KNN.决策树.naivebayes.SVM.ANN.logistic回归.关于这么多的分类算法,我们自然需要考虑谁的表现更加的优秀. 既然要对分类算法进行评价,那么我们 ...

  5. [python标准库]Pickle模块

    Pickle-------python对象序列化 本文主要阐述以下几点: 1.pickle模块简介 2.pickle模块提供的方法 3.注意事项 4.实例解析 1.pickle模块简介 The pic ...

  6. js背景自适应,学到了

    最近在做一个项目,要求实现背景自适应,何为背景自适应呢? 1.如果背景图高度不够,背景height是100%,background-size就应该是 100% auto 2.如果背景图宽度不够,背景w ...

  7. 浏览器本地储存方式有哪些?cookie、localStorage、sessionStorage

    现阶段,浏览器提供的储存方式常用的有三种,cookie.localStorage.sessionStorage 1.cookie 概念:cookie 是浏览器中用于保存少量信息的一个对象 基本特征: ...

  8. 利用arpspoof和urlsnarf 进行ARP嗅探

    地址解析协议 (ARP, Address Resolution Protocol) 是如何将网络设备的MAC地址和其IP地址关联起来的,这样在同一个局域网内的设备就能相互知道彼此的存在.ARP基本上就 ...

  9. 原生和jQuery的ajax用法

    jQuery的ajax方法: $.ajax({ url:'/comm/test1.php', type:'POST', //GET async:true, //或false,是否异步 data:{ n ...

  10. STL的空间配置器std_alloc 笔记

    STL的空间配置器std_alloc 笔记 C++的内存分配基本操作是 ::operator new(),内存释放是 ::operator delete(),这里个全局函数相当于C的malloc和fr ...