一、Maven 简介

Maven 中文意为 “ 内行、专家 ”,是 Apache 下的一个开源项目,属于纯 Java 开发,并且只是用来管理 Java项目的,它是一款项目管理工具,使用 Maven 可以对 Java 项目进行构建和依赖管理,项目构建即项目的编码、编译、测试、运行、打包、部署等过程,依赖管理即对 项目所需要的 jar 包统一管理。

目前, Maven 也是一款非常热门好用的项目管理工具,并且使用 Maven 进行管理的项目也在持续增长。

二、为什么要使用 Maven

我们知道传统的项目开发需要将具体的 jar 包导入到过程当中,明显这会增加项目的大小,而 Maven 有一个远程的仓库可以专门用来存放 jar 包,包括各个版本的 jar 包,使用 Maven 进行项目的依赖管理,最大的特点就是可以明显缩小项目的大小。

举个例子,我们使用传统导入 jar 包的方式开发出来的项目本身大小为 50M,而我们使用 Maven 进行依赖管理开发出来的项目可能大小还不到 2M,因此使用 Maven 进行项目的管理,可以对 jar 包进行统一管理,节省空间。

再者,Maven 分模块开发,如对 web 层、service 层、dao 层进行分模块开发,并且可以对项目进行一键构建,明显这可以提高开发的效率。

三、Maven 的下载安装

相信下载与安装对于大家都是没有什么问题的,这里就简单说一下就行。

1、下载

Maven 各大版本下载地址:Maven官网下载地址

2、安装

直接将下载的文件解压,这里需要注意解压的文件夹名称不能含有空格键,否则后面使用可能会遇到问题。

解压完毕后在电脑进行 Maven 的使用环境进行配置了,打开环境变量的系统变量配置窗口,新建一个环境 MAVEN_HOME变量,变量值设置为 Maven 的解压目录即可。相信大家这里都可以自行完成配置,如果实在无法完成配置的,也可以到公众号后台联系我。

这里需要特别注意,使用 Maven 前电脑必须已经安装 jdk,并且不同的 Maven 版本对不同的 jdk 版本要求不一样,但 jdk1.7 以上基本没问题,具体就不再赘述。

最后就是验证 Maven 环境是否配置成功了,由于 Maven 最终要运行的是 Maven 安装目录中的 bin 目录的中的 mvn 命令,所以本地 win + R 直接打开 cmd 命令窗口,执行如下命令即可查看是否配置成功:

mvn -v

结果如下图所示:

四、Maven 仓库

前面我们讲到使用 Maven 进行项目管理可以节省空间主要是因为 Maven 对 jar 包进行了统一的管理,而这些 jar 包就是存放于仓库当中。

Maven 共有 3 中仓库,分别是:

  • 本地仓库:自己维护的仓库
  • 远程仓库:有一些公司来维护
  • 中央仓库:由 Maven 团队来维护

这 3 种仓库的关系如下图所示:

远程仓库和中央仓库我们是没有管理权限的,但是本地仓库我们是有权限进行相关设置的。本地仓库的配置只需要修改安装目录下的 conf 文件夹下的 settings.xml 文件就可以,自定义自己的本地仓库,如下图所示:

五、Maven 入门程序

1、打开 IDEA 新建 Maven 项目,点击 Next 进入下一步,如下图所示:

2、填写 GroupId 和 ArifactId, GroupId 是 Java 的包的结构,是 main 目录里 java 的目录结构,而 ArifactId 是项目的名称,就是项目根目录的名称,填写完直接点 Next,进入下一步,如下图所示:

3、填写存放此项目的工作区间,然后直接点 Finish 即可,如下图所示:

4、Maven 项目创建完成,创建完成后会直接打开 Maven 项目最重要的配置文件 pom.xml,这个后面会详细讲解,如下图所示:

5、手工创建 Maven 模板,选中项目,点击 File 下的 Project Structure,选择 Modules模块,点击 + 符号,然后添加 Web 模板,其他模板可以暂时不做改动,如图所示:

六、Maven 配置文件详解

打开项目的所有文件夹,这里只对 Maven 项目的主要文件进行相关的解释,如下图所示:

pom.xml : Maven 项目的核心文件,用来配置依赖的 jar 包

main :Maven 项目的主目录

java :存放项目的所有 Java 代码文件

resources :存放 properties 资源文件和 xml 配置文件

webapp :存放静态资源文件和页面文件

test :测试目录,存放 junit 测试文件

是的,到这里基本就可以进行 Java 项目开发了,具体如何开发,后期会持续更新,保持关注即可。

扫描二维码关注微信公众号,了解更多

------------------------------------------![](http://p5xem2laz.bkt.clouddn.com/about/wechat-qcode.jpg)

Maven 项目管理工具基础知识系列(一)的更多相关文章

  1. Maven 项目管理工具基础入门系列(二)

    一.前言 在 Maven 项目管理工具基础知识系列(一) 这篇文章中,我们已经初步了解了 Maven,也知道了使用 Maven 作为项目管理工具的好处,特别是已经知道如何快速通过 Maven 构建 W ...

  2. maven(项目管理工具系列 maven 总结二)

    ♣maven是什么? ♣maven下载.安装 ♣了解maven仓库 ♣eclipse配置maven ♣创建maven项目 ♣把maven项目转化为web项目 1.maven是什么? Maven是一个项 ...

  3. C# 基础知识系列- 16 开发工具篇

    0. 前言 这是C# 基础知识系列的最后一个内容讲解篇,下一篇是基础知识-实战篇.这一篇主要讲解一下C#程序的结构和主要编程工具. 1. 工具 工欲善其事必先利其器,在实际动手之前我们先来看看想要编写 ...

  4. C# 基础知识系列- 17 小工具优化

    0. 前言 不知道有没有动手能力强的小伙伴照着上一篇的内容写过程序呢?如果有的话,应该会在使用的时候发现以下几个问题: 每次启动都需要经过漫长的时间去遍历磁盘里的文件目录 因为数据是用的字典保存的,所 ...

  5. C# 基础知识系列- 12 任务和多线程

    0. 前言 照例一份前言,在介绍任务和多线程之前,先介绍一下异步和同步的概念.我们之间介绍的知识点都是在同步执行,所谓的同步就是一行代码一行代码的执行,就像是我们日常乘坐地铁通过安检通道一样,想象我们 ...

  6. C# 基础知识系列- 14 IO篇 文件的操作 (3)

    本篇继续前两篇内容,跟大家介绍一下Path类以及FileSystemInfo这个类的主要方法和属性. 上文提到,在<C# 基础知识系列-IO篇>之文件相关的内容完结之后,会带领大家开发一个 ...

  7. C# 基础知识系列- 14 IO篇 流的使用

    0. 前言 继续之前的C# IO流,在前几篇小短片中我们大概看了下C# 的基础IO也对文件.目录和路径的操作有了一定的了解.这一篇开始,给大家演示一下流的各种操作.以文件流为例,一起来看看如何操作吧. ...

  8. 基础知识系列☞C#中→属性和字段的区别

    "好吧...准备写个'基础知识系列',算是记录下吧,时时看看,更加加深记忆···" 其实本来准备叫"面试系列"... 字段.属性.你先知道的哪个概念? ***我 ...

  9. 基础知识系列☞Abstract和Virtual→及相关知识

    转载地址→http://www.cnblogs.com/blsong/archive/2010/08/12/1798064.html 在C#的学习中,容易混淆virtual方法和abstract方法的 ...

随机推荐

  1. linux设置代理修改接口数据

    其实很简单,希望看到的人可以一次搞定,所以我把所有步骤写一块儿了. 1.首先在自己能上网的机器上安装fiddler,程序自己百度搜就可以,百度软件中心的程序就行. 2.安装fiddler后,管理员权限 ...

  2. 开篇/javascript基础知识点

    html css js 分别是一个网站的:内容  样式 行为: js 的三种样式:行内 内嵌 外链. 函数的特性:1.可以重复执行的代码块.2.不调用不执行.3.要访问里面,必须先执行. 内置对象:j ...

  3. 利用CSS3制作网页动画

    如何在网页中实现动画效果动态图片 flashjavascriptcss3变形是一些效果的集合如平移 旋转 缩放 倾斜效果每个效果都可以称为变形(transfrom) 它们可以分别操控元素发生平移.旋转 ...

  4. C语言使用指针变量指向字符串,对字符串进行处理后再将指针移向开头为什么不能输出?(使用Dev-c++进行编译)

    # include <stdio.h> # include <stdlib.h> int main() { char *point_1="aaaaaabbbbbbzz ...

  5. Alpha冲刺Day5

    Alpha冲刺Day5 一:站立式会议 今日安排: 首先由于经过黄腾飞短暂的测试,发现导入导出仍然有一些问题,今天需要进行完善 由黄腾飞负责企业自查风险管理子模块,要求为单元进行风险点的管理 由张梨贤 ...

  6. 简单的C语言编译器--概述

      在学习了编译原理的相关知识后,逐渐的掌握一个编译器的结构.作用和实现方法.同时,希望自己在不断的努力下写出一个简单的C语言编译器. 实现步骤 词法分析器:将C语言测试代码分解成一个一个的词法单元: ...

  7. Python 实现双端队列 Deque

    操作 Deque() 创建一个空的双端队列 add_front(item) 从队头加入一个item元素 add_rear(item) 从队尾加入一个item元素 remove_front() 从队头删 ...

  8. XCode Build Settings中几种Search Paths

    Header search path:去查找头文件的路径,同在在你需要使用第三方库的时候,在这里设置你的头文件路径目录,如图 <code><span class="str& ...

  9. 山西某公司NetApp存储不小心删除文件数据恢复成功案例

    故障情况简介: 需要进行数据恢复的设备是一台NetApp存储,共有24块磁盘组成.由于管理员删除文件夹,且时间比较久,删除有几个月时间. 可恢复性判断:由于NetApp中的文件系统的特性,WAFL是& ...

  10. es6对象字面量增强

    相对于ES5,ES6的对象字面量得到了很大程度的增强.这些改进我们可以输入更少的代码同时语法更易于理解.那就一起来看看对象增强的功能.对象字面量简写(Object Literal Shorthand) ...