作者有话说:什么是maven呢?为啥要学maven?这两个问题会在下面的文章里找到答案,带着问题阅读本文,你会受益良多。

目录

为啥要学习maven?

maven简介

maven安装搭建

Maven POM

Maven 坐标

Maven仓库


为啥要学习maven?

相信读到这篇文章的许多人有过或多或少的项目经历,说到项目,在纯是原生态代码无框架的时候,我们最痛苦的一件事就是导入各种各样的jar包,jar包太多以至于我们很难管理,项目功能稍多,就会出现好多好多的包,你要考虑在哪找这个包,还有它的包的依赖,让人很痛苦!这个时候,我们的救世主maven出现,轻松帮你解决这些问题。

maven优点:

1、原来的项目中需要的jar包必须手动“复制”、”粘贴” 到WEB-INF/lib 项目下,而借Maven,可以将jar包仅仅保存在“仓库”中,有需要使用的工程只需要“引用”这个文件,并不需要重复复制到工程中。

2、原来的项目中所需要的jar包都是提前下载好的,而Maven在联网状态下会自动下载所需要的jar包。首先在本地仓库中找,找不到就在网上进行下载。

3、原来的项目中一个jar包所依赖的其他jar包必须手动导进来,而Maven会自动将被依赖的jar包导进来。

4、原来的项目一个项目就是一个工程,而借助Maven可以将一个项目拆分成多个工程。

maven简介

Maven 是 Apache 软件基金会的一个开源项目,是一个优秀的项目构建工具,它用来帮助开发者管理项目中的 jar,以及 jar 之间的依赖关系、完成项目的编译、测试、打包和发布等工作。

maven安装搭建

前提是安装jdk(Maven 工作时需要通过网络下载各种插件以完成任务,因此应保证网络的通畅)

1.下载maven服务器

maven 官网:http:// maven.apache. org
点击download下载

2. 安装 配置maven

点击下载二进制的 apache-maven-3.6.0-bin.zip 进行解压,”然后在系统环境中配置环境变量,在path中配置到bin目录,配置成功后输入命令mvn -version

出现这个样的界面就代表maven 环境配置成功。

3. 配置maven本地仓库

如何将下载的 jar 文件存储到我们指定的仓库中呢?需要在 maven 的服务器解压的文件中找到 conf 文件夹下的 settings.xml 文件进行修改,如下图所示:

为了提高下载速度,可在如图所示位置配置阿里云仓库

<mirror>   <!-- 配置阿里云镜像仓库 -->
           <id>alimaven</id>
           <name>aliyun maven</name>
           <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
           <mirrorOf>central</mirrorOf>
         </mirror>

 4. 在idea中配置maven

 打开idea-----点击File-----点击New Projects Settings-----点击Setting for New Projects...

在下图中配置相关的地址

 5. 创建一个maven工程

依次如下图操作:

图一:

图二:

图三:

图四:

 5. maven工程pom.xml配置

maven 仓库官网(http://mvnrepository.com/)如下图所示:

在官网里就可以下载自己所需开发 jar 包,继续点击链接打开如下:

在 Pom.xml 文件配置 jar 包信息(坐标),使用 maven 自动下载 jar 包

如:

 配置好坐标后,在你的右上角找下图所示按钮刷新,点击之后文件会自动下载到你本地仓库中

Maven POM

POM(Project Object Model,项目对象模型)是 Maven 的基本组件,它是以 xml 文件的形式存放在项目的根目录下,名称为 pom.xml。

POM 中定义了项目的基本信息,用于描述项目如何构建、声明项目依赖等等。

当 Maven 执行一个任务时,它会先查找当前项目的 POM 文件,读取所需的配置信息,然后执行任务。在 POM 中可以设置如下配置:

  • 项目依赖
  • 插件
  • 目标
  • 构建时的配置文件
  • 版本
  • 开发者
  • 邮件列表

在创建 POM 之前,首先要确定工程组(groupId),及其名称(artifactId)和版本,在仓库中这些属性是项目的唯一标识。一旦在 pom.xml 文件中配置了所依赖的 jar,Maven 会自动从构件仓库中下载相应的构件。

Maven 坐标

Maven 坐标一套规则,它规定:世界上任何一个构件都可以使用 Maven 坐标并作为其唯一标识,Maven 坐标包括 groupId、artifactId、version、packaging 等元素,只要用户提供了正确的坐标元素,Maven 就能找到对应的构件。

任何一个构件都必须明确定义自己的坐标,这是 Maven 的强制要求,任何构件都不能例外。我们在开发 Maven 项目时,也需要为其定义合适的坐标,只有定义了坐标,其他项目才能引用该项目生成的构件。

Maven 坐标主要由以下元素组成:

  • groupId: 项目组 ID,定义当前 Maven 项目隶属的组织或公司,通常是唯一的。它的取值一般是项目所属公司或组织的网址或 URL 的反写,例如 net.biancheng.www。
  • artifactId: 项目 ID,通常是项目的名称。
  • version:版本。
  • packaging:项目的打包方式,默认值为 jar。

以上 4 个元素中 groupId、artifactId 和 version 是必须定义的,packaging 是可选的。

Maven仓库

Maven 仓库可以分为 2 个大类:

  • 本地仓库
  • 远程仓库

当 Maven 根据坐标寻找构件时,它会首先查看本地仓库,若本地仓库存在此构件,则直接使用;若本地仓库不存在此构件,Maven 就会去远程仓库查找,若发现所需的构件后,则下载到本地仓库使用。如果本地仓库和远程仓库都没有所需的构件,则 Maven 就会报错。

Maven安装和配置详细步骤相关推荐

  1. Window10 JDK8安装与配置详细步骤

    JDK8 百度网盘链接 百度网盘链接:https://pan.baidu.com/s/1vO3nybCKzyuGeex8MO1K4Q 提取码:1004 目录 第一步 JDK下载 第二步  安装JDK( ...

  2. maven环境变量配置详细步骤(win10)

    一.前言 最近更新了系统,maven也想了想也需要装个新版本了,去下载了新版本,记录下maven的安装配置,初学小伙伴可以看看. 安装前确认已经安装好了JDK,没有安装或下载的小伙伴可以参考我另外一篇 ...

  3. MySQL8.0.19下载安装及配置详细步骤

    下载: 软件下载地址:https://www.mysql.com/downloads/ 进入主页后下滑见 然后点击下图的MySQL Community Server 进入之后,点击Download进行 ...

  4. Windows下的subversion(SVN)下载安装及配置 -详细步骤

    一.安装: 1.下载网址[http://subversion.apache.org/ 2.选择Windows系统下的VisualSVN二进制安装文件 3.选择VisualSVN Server下,相应的 ...

  5. Ambari安装和配置详细步骤

    ​ 目录 一.准备环境 二.修改主机名和hosts文件 三.关闭防火墙和selinux(所有主机均执行以下操作) 四.免密登陆(所有主机均执行以下操作) 五.同步时间 六.配置安装yum源 七.安装M ...

  6. Android Studio环境配置安装、搭建详细步骤及使用方法

    APP准备工作如下 1.源码下载 因为我已经下载好了 就不演示了 连下载都不会我就不说什么了. 稍后我会随教程发源码出去 jdk-8u77-windows-x64 萝卜app 1.1 mahuaTV这 ...

  7. maven安装和配置阿里云镜像(各种详细配置)

    maven安装和详细配置 maven安装和配置阿里云镜像(各种详细配置) 提示:下面是maven3.6.3版本百度云链接,记住maven3.3以上版本必须安装jdk1.7及以上版本,否则会出错. 链接 ...

  8. 虚拟化操作系统ESXi 6.7安装配置详细步骤

    ESXi 6.7安装配置详细步骤 ESXi安装方式: 新建一个虚拟机 除了以下步骤,其他的都是常规操作 硬件兼容性选择ESXI 6.7 虚拟化安装以及使用ESXI系统安装的ISO映像文件 1.开始安装 ...

  9. maven安装及配置(超详细)

    maven安装及配置(超详细) 大家好,今天我们来学习一下maven安装及配置,好好看,好好学,超详细的 第一步 进入maven官网下载,如下图所示: 第二步 下载好压缩包或解压到除了c盘任意一个盘, ...

最新文章

  1. 盛大游戏卷入“沙巴克”商标之争
  2. 转:从零开始做app需要做的事情列表
  3. 只需2小时,成本不到7块,你我皆可制作的3D机器人
  4. 使用级联功能实现蓝绿部署和金丝雀发布
  5. 组件通信 eventtBus
  6. 项目范围管理:项目范围控制
  7. iOS开发23:通过归档永久存储数据
  8. windows传真和扫描由于不能访问您的文档_扫描识别工具Dynamic Web TWAIN全年最低价来了!错过再等一年...
  9. python常见内置函数
  10. java多选代码_[一天一点java web]复选框全选代码
  11. jmeter 控制偏离_Jmeter(二十) - 从入门到精通 - JMeter监听器 -下篇(详解教程)
  12. 《高质量程序设计指南:C++/C语言》图书信息
  13. kali安装图像处理软件
  14. Pascal VOC 2007和2012数据集下载地址(不需国外,速度依旧让你感动)
  15. linux下shell检测sd卡分区表,shell中给sd卡或u盘分区
  16. 二级C语言office公共基础知识点
  17. 进程和线程的主仆问题
  18. 20200909 Vedio Game 游戏平台数据分析
  19. c#--在异步方法中异步地等待任务
  20. [GXYCTF2019]禁止套娃

热门文章

  1. 什么是Oozie——大数据任务调度框架
  2. linux运维现在怎么样,浅谈现下Linux运维人员面临的问题
  3. 1亿个数中找出最大的100个数(top K问题)
  4. 【二】CC2541 阿莫BLE开发板 与 BTool软件的连接 以及 读写UUID
  5. vue影院在线选座--可拖拽、缩放--A/B/C三级座位
  6. 【SQL开发实战技巧】系列(十五):查找最值所在行数据信息及快速计算总和百之max/min() keep() over()、fisrt_value、last_value、ratio_to_report
  7. Java JDK1.8 API 帮助文档
  8. 285个地级市空间权重矩阵(空间邻接、地理距离、经济距离、经济地理嵌套矩阵)
  9. 【Python | Networks库详解】最佳实践(22年电工杯B题之路径可视化)
  10. 虚拟机和本机互传文件