Maven 项目管理工具基础知识系列(一)
一、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 项目开发了,具体如何开发,后期会持续更新,保持关注即可。
扫描二维码关注微信公众号,了解更多
------------------------------------------
Maven 项目管理工具基础知识系列(一)的更多相关文章
- Maven 项目管理工具基础入门系列(二)
一.前言 在 Maven 项目管理工具基础知识系列(一) 这篇文章中,我们已经初步了解了 Maven,也知道了使用 Maven 作为项目管理工具的好处,特别是已经知道如何快速通过 Maven 构建 W ...
- maven(项目管理工具系列 maven 总结二)
♣maven是什么? ♣maven下载.安装 ♣了解maven仓库 ♣eclipse配置maven ♣创建maven项目 ♣把maven项目转化为web项目 1.maven是什么? Maven是一个项 ...
- C# 基础知识系列- 16 开发工具篇
0. 前言 这是C# 基础知识系列的最后一个内容讲解篇,下一篇是基础知识-实战篇.这一篇主要讲解一下C#程序的结构和主要编程工具. 1. 工具 工欲善其事必先利其器,在实际动手之前我们先来看看想要编写 ...
- C# 基础知识系列- 17 小工具优化
0. 前言 不知道有没有动手能力强的小伙伴照着上一篇的内容写过程序呢?如果有的话,应该会在使用的时候发现以下几个问题: 每次启动都需要经过漫长的时间去遍历磁盘里的文件目录 因为数据是用的字典保存的,所 ...
- C# 基础知识系列- 12 任务和多线程
0. 前言 照例一份前言,在介绍任务和多线程之前,先介绍一下异步和同步的概念.我们之间介绍的知识点都是在同步执行,所谓的同步就是一行代码一行代码的执行,就像是我们日常乘坐地铁通过安检通道一样,想象我们 ...
- C# 基础知识系列- 14 IO篇 文件的操作 (3)
本篇继续前两篇内容,跟大家介绍一下Path类以及FileSystemInfo这个类的主要方法和属性. 上文提到,在<C# 基础知识系列-IO篇>之文件相关的内容完结之后,会带领大家开发一个 ...
- C# 基础知识系列- 14 IO篇 流的使用
0. 前言 继续之前的C# IO流,在前几篇小短片中我们大概看了下C# 的基础IO也对文件.目录和路径的操作有了一定的了解.这一篇开始,给大家演示一下流的各种操作.以文件流为例,一起来看看如何操作吧. ...
- 基础知识系列☞C#中→属性和字段的区别
"好吧...准备写个'基础知识系列',算是记录下吧,时时看看,更加加深记忆···" 其实本来准备叫"面试系列"... 字段.属性.你先知道的哪个概念? ***我 ...
- 基础知识系列☞Abstract和Virtual→及相关知识
转载地址→http://www.cnblogs.com/blsong/archive/2010/08/12/1798064.html 在C#的学习中,容易混淆virtual方法和abstract方法的 ...
随机推荐
- jdk 环境配置踩坑
其实在网上已经有很多环境配置的介绍了.不过我还是想用切身经历告诉大家这里面可能遇到的坑. 首先,先给大家讲一下JAVA_HOME,path,CLASSPATH JAVA_HOME 指向的是JDK的安装 ...
- [BZOJ 4419][Shoi2013]发微博
4419: [Shoi2013]发微博 Time Limit: 10 Sec Memory Limit: 256 MBSubmit: 665 Solved: 364[Submit][Status] ...
- 结合jenkins在Linux服务器搭建测试环境
何时使用: 测试过程中我们需要持续构建一个软件项目,为避免重复的手动下载.解压操作,我们需要搭建一个能够自动构建的测试环境,当代码有更新时,测试人员只需点一下[构建]即可拉取最新的代码进行测试(也可设 ...
- 个人作业2:QQ音乐APP案例分析
APP案例分析 QQ音乐 选择理由:毕竟作为QQ音乐九年的资深老用户以及音乐爱好者 第一部分 调研 1.第一次上手的体验 我算是很早期的QQ音乐的用户,用QQ音乐七八年,除了体验各方面还不错之外 ...
- C程序设计-----第1次作业
一. PTA作业. 在完成PTA作业的时候我没有认真读题.每次都是提交完整代码 6-1(1) #include <stdio.h> //P++等价于(p)++还是等价于*(p++)? ...
- 项目Beta冲刺Day2
项目进展 李明皇 今天解决的进度 优化了信息详情页的布局:日期显示,添加举报按钮等 优化了程序的数据传递逻辑 明天安排 程序运行逻辑的完善 林翔 今天解决的进度 实现微信端消息发布的插入数据库 明天安 ...
- python之路--day8---day9--两日内容
一.不使用函数的问题 1,代码的组织结构不清晰,可读性差 2,遇到重复的功能只能重复编写实现代码,代码冗余 3,功能需要扩展时,需要找出所有实现该功能的地方修改,无法统一管理且维护难度极大 二.函数是 ...
- 【转】optach学习
[转自:https://yq.aliyun.com/articles/28007,仅作学习用途] 摘要: Opatch 是oracle公司开发的安装,卸载,检测patch冲突的工具,管理oracle所 ...
- Win10安装Ubuntu14.04.5双系统(显示器为DP接口)
系统安装主要参考了这篇博文Win10+Ubuntu17.04双系统安装,不再重复. 重点说说DP接口的事,如果主机有VGA接口的话可以到此为止了,如果只有DP接口的话可以参考以下内容. 一.Ubunt ...
- SpringBoot14 SpringBoot整合mybatis
1 版本说明 springboot:2.0 jdk:1.8 2 创建springBoot项目 创建项目时勾选必要web,MySQL,mybatis相关依赖 创建完成后再pom文件中添加自动部署.lom ...