因为项目需要,新项目需要使用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. java虚拟机学习-JVM调优总结-分代垃圾回收详述(9)

    为什么要分代 分代的垃圾回收策略,是基于这样一个事实:不同的对象的生命周期是不一样的.因此,不同生命周期的对象可以采取不同的收集方式,以便提高回收效率. 在Java程序运行的过程中,会产生大量的对象, ...

  2. python利用selenium和safari浏览器驱动实现新浪微博自动点赞 Demo

    import time from selenium import webdriver browser = webdriver.Safari() browser.get('http://weibo.co ...

  3. APUE-文件和目录(一)

    4.1 函数stat 函数stat返回与此命名文件有关的信息结构.下面的代码实现了一个工具,显示树形目录结构,需要加两个参数,一个为目录名,一个为显示目录的深度. #include <sys/s ...

  4. ThinkPHP5.0版本和ThinkPHP3.2版本的区别

    5.0版本和之前版本的差异较大,本篇对熟悉3.2版本的用户给出了一些5.0的主要区别. URL和路由 5.0的URL访问不再支持普通URL模式,路由也不支持正则路由定义,而是全部改为规则路由配合变量规 ...

  5. MySQL数据库安全策略

    1. 删除所有MySQL中的用户(包括root用户): mysql> delete from mysql.user root可以保留,然后修改为其他用户 2. 为管理员root用户设置密码 : ...

  6. javaSE_05Java中方法(函数)与重载、递归-练习

    1.使用的递归的方法求5! public class DiGui{ public static void main(String[] args){ //使用的递归的方法求5! System.out.p ...

  7. socket聊天室(服务端)(多线程)(TCP)

    #include<string.h> #include<signal.h> #include<stdio.h> #include<sys/socket.h&g ...

  8. linux--centos服务器配置

    配置Centos服务器   1. 安装centos 安装时注意分区留下一个/data区给网站内容存储. 2. 配置网络连接 默认centos网络连接不是开机启动的,需要配置. vi /etc/sysc ...

  9. Lucene全文搜索之分词器:使用IK Analyzer中文分词器(修改IK Analyzer源码使其支持lucene5.5.x)

    注意:基于lucene5.5.x版本 一.简单介绍下IK Analyzer IK Analyzer是linliangyi2007的作品,再此表示感谢,他的博客地址:http://linliangyi2 ...

  10. 【原创】Ajax的用法总结

    一.什么是Ajax Ajax英文全称为“ Asynchr JavsScript and XML”(异步的JavaScript和XML),是一种创建 交互式网页的开发技术. 二.Ajax技术的核心 Aj ...