Maven《一》-- 一文带你快速了解Maven

目录

🐶1.1 为什么使用Maven

1. Mavan是一个依赖管理工具

①jar包的规模

②jar包的来源问题

③jar包的导入问题

④jar包之间的依赖

2. Mavan是一个构建工具

①你没有注意过的构建

②脱离IDE环境仍需构建 

3. 结论

🐶1.2 什么是Maven

🐶1.3 Maven软件工作原理


🐶1.1 为什么使用Maven

1. Mavan是一个依赖管理工具

①jar包的规模

随着我们使用越来越多的框架,或者框架封装程度越来越高,项目中使用的jar包也越来越多。项目中,一个模块里面用到上百个jar包是非常正常的。

②jar包的来源问题
  • 这个jar包所属技术的官网。官网通常是英文界面,网站的结构又不尽相同,甚至找到下载链接还发现需要通过特殊的工具下载。

  • 第三方网站提供下载。问题是不规范,在使用过程中会出现各种问题。

    • jar包的名称

    • jar包的版本

    • jar包内的具体细节

  • 而使用maven后,依赖对应的jar包能够自动下载,方便、快捷又规范。

③jar包的导入问题

在web工程中,jar包必须存放在指定位置。

在使用maven之后,通过配置依赖(jar包)的坐标,查找本地仓库中相应jar包,若本地仓库没有,则统一从镜像网站或中央仓库中下载。

④jar包之间的依赖

框架中使用的jar包,不仅数量庞大,而且彼此之间存在错综复杂的依赖关系。依赖关系的复杂程度,已经上升到了完全不能靠人力手动解决的程度。另外,jar包之间有可能产生冲突。进一步增加了我们在jar包使用过程中的难度。

而实际过程中jar包之间的依赖关系是普遍存在的。如果要由程序员手动梳理无疑会增加极高的学习成本,而这些工作又对实现业务功能毫无帮助。

而使用Maven则几乎不需要管理这些关系,极个别的地方跳转一下即可,极大的减轻了我们的工作量。

2. Mavan是一个构建工具

①你没有注意过的构建

你可以不使用maven,但是构建必须要做。当我们使用idea进行开发时,构建是idea替我们做的。

②脱离IDE环境仍需构建 

3. 结论

  • 管理规模庞大的jar包,需要专门工具

  • 脱离IDE环境执行构建操作,需要专门工具

🐶1.2 什么是Maven

Maven是一款为javva项目管理构建、依赖管理的工具(软件),使用maven可以自动化构建、测试、打包和发布项目,大大提高了开发效率和质量。

Mavan就是一个软件,掌握安装、配置、以及基本功能(项目构建、依赖管理)的理解和使用即可!

1. 依赖管理

Mavan可以管理项目的依赖,包括自动下载所需依赖库、自动下载依赖需要的依赖并且保证版本没有冲突、依赖版本管理等。通过maven,我们可以方便的维护项目所依赖的外部库,避免版本冲突和转换错误等,而我们仅仅需要编写配置即可。

2. 构建管理

项目构建是指将源代码、配置文件、资源文件等转化为能够运行或部署的应用程序或库的过程。

Maven可以管理项目的编译、测试、打包、部署等构建过程。通过实现标准的构建生命周期,Maven可以确保每一个构建过程都遵循同样的规则和最佳实践。同时,Maven的插件机制也使得开发者可以对构建过程进行扩展和定制。主动触发构建,只需要简单的命令操作即可。

 场景1:例如我们项目需要第三方依赖如:Druid连接池、Mysql数据库驱动和jackson JSON等处理。那么我们可以将想要的依赖项的信息编写到Maven工程的配置文件,Maven就会自动下载并复制这些依赖项到项目中,无需自己导入jar包,管理jar!

场景2:项目完成开发,我们想要打车war部署到服务器中,使用maven的构建命令可以快速打包!节省大量时间

🐶1.3 Maven软件工作原理

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/622455.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

感知机(二分类模型)

目录 1.感知机计算预测值:2.感知机训练:3.损失函数:4.多层感知机:5.单隐藏层的多层感知机代码实现: 1.感知机计算预测值: 训练结果只有1、-1,故正负相同训练正确,正负相反即训练错误…

【DB】MySQL版本5.7和8的区别,以及升级的注意事项

文章目录 1、MySQL版本5.7和8的区别2、MySQL 5.7升级8 1、MySQL版本5.7和8的区别 在数据库管理系统中,MySQL是一个广泛使用、开源的解决方案。它提供了强大的功能,同时具有优秀的性能和可扩展性。 MySQL 5的发布于2005年,在MySQL数据库的发…

实体企业品牌推广之困与解:迅腾文化如何助力企业“显”化品牌价值

在数字化浪潮的冲击下,许多实体企业面临着品牌推广的困境。由于缺乏系统的经验和网络资源的积累,这些企业在品牌推广过程中有很大提升空间。如何以低成本的方式有效推广品牌,成为了实体企业亟待解决的问题。迅腾文化从策略到设计,…

Linux第26步_在虚拟机中安装stm32wrapper4dbg工具

在Ubuntu下编译TF-A 或者 Uboot时,我们需要用到ST公司提供的stm32wrapper4dbg工具。stm32wrapper4dbg工具的源码下载地址为: GitHub - STMicroelectronics/stm32wrapper4dbg 记得我们在前面已经创建过的目录如下: 1)、在根目录下&#xf…

Windows项目部署流程

一、部署前需要的工作 ①配置环境变量:将所需的软件和工具的安装路径添加到系统的环境变量中,以便在命令行中可以直接使用。 ②部署项目文件:将项目的文件和代码复制到服务器上的指定目录中,例如Web服务器的网站根目录。 ③配置…

70.网游逆向分析与插件开发-角色数据的获取-自动化助手UI显示角色数据

内容参考于:易道云信息技术研究院VIP课 上一个内容:利用技能点属性分析角色数据基址-CSDN博客 码云地址(ui显示角色数据 分支):https://gitee.com/dye_your_fingers/sro_-ex.git 码云版本号:367aa71f60b…

WIndows系统重装、备份与恢复实操问题笔记

一 windows重装 1.1 基本步骤 下载大白菜根据官网使用教程制作启动u盘从MSDN或者微软官网下载Windows镜像根据查询的快捷键进入BIOS系统,设置U盘为第一启动 重装 1.2 Windows 11 激活 微软其实在2023年9月20日的公告中宣布停掉免费升级,数字激活工具…

Python之循环判断语句

一、if判断语句 1. if...else if 条件: 满足条件时要做的事情1 满足条件时要做的事情2 ...... else: 不满足条件时要做的事情1 不满足条件时要做的事情2 ...... # -*- coding:utf-8 -*- age input("请输入年龄:") age int(age) if age > 18:print("已经成…

一文读懂ERP、OMS、WMS、TMS(2/2)

目录 二、ERP、OMS、WMS、TMS的区别 2.1 ERP (Enterprise Resource Planning) 企业资源计划 2.2 OMS (Order Management System) 订单管理系统 2.3 WMS (Warehouse Management System) 仓库管理系统 2.4 TMS (Transportation Management System) 运输管理系统 二、ERP、OM…

街机模拟游戏逆向工程(HACKROM)教程:[1]数据的存储与读取

简介 在计算机中,数据存储的介质一直在变化,从最早的穿孔纸带,到现在的固态硬盘。但存储的原理是一直没有变化的,在计算机中,我们所存储的数据,一直都是以二进制的形式被存储存在不同的介质中。 计算机用…

(十二)EEPROM的补充

文章目录 EEPROM补充篇读EEPROM补充内容写EEPROM补充内容单字节写入多字节拆成单字节写入现象 EEPROM补充篇 读EEPROM补充内容 对于上一篇博文在读EEPROM的时候,提到的DUMMY WRITE: 这里怎么理解呢: 大家看,写EEPROM的逻辑除了…

webstorm最新版 激活 成功了

使用webstorm开发工具 很完美,第一次用webstorm IDE 开发工具就完美的激活了,你也不妨试试 链接地址:http://mano100.cn/thread-1942-1-1.html 激活后如下

Scratch优秀作品飞翔小鸟

程序说明:在无尽的划痕堆中飞驰而过随着你越来越多地飞进迷宫般的街区,平台变得越来越难。 演示视频 scratch飞翔小鸟 其实这就是一个类似像素小鸟的程序,只不过水管角色就地取材,使用scratch里面的积木图片拼成了水管&#xff0…

网站漏洞扫描 awvs 23.11下载 Acunetix Premium build 23.11 for Linux 完美版

Acunetix Premium build 23.11 for Linux 完美版 更新日志: 网站漏洞扫描 awvs 23.11下载 新功能 Java IAST 传感器已更新为支持 Java 17 并删除了对 AspectJWeaver 的要求对管理适用于 Docker 和 Linux 的 Acunetix On-Premises 服务的机制进行了更改&#xff0…

LabVIEW利用视频分析实现高效硬度测量

LabVIEW利用视频分析实现高效硬度测量 在材料硬度测量领域,自动化和高精度测试技术的需求不断上升。布氏硬度机的自动化测量系统,尤其是那些结合了LabVIEW视频识别和处理技术的系统,正日益成为行业的焦点。介绍一个使用LabVIEW软件和先进的视…

Qt框架学习 --- CTK

系列文章目录 文章目录 系列文章目录前言一、准备阶段二、使用介绍1.核心思想2.源码2.1.框架部分资源目录树2.2.框架部分源码2.3.插件部分资源目录树2.4.插件部分源码 3.文件结构4.运行效果 总结 前言 随着开发的深入,CTK框架还是要关注一下。了解CTK还是有必要的。…

4D 毫米波雷达:智驾普及的新路径(二)

4 4D 毫米波的技术路线探讨 4.1 前端收发模块 MMIC:级联、CMOS、AiP 4.1.1 设计:级联、单芯片、虚拟孔径 4D 毫米波雷达的技术路线主要分为三种,分别是多级联、级联 虚拟孔径成像技术、以及 集成芯片。( 1 )多级…

一张图总结架构设计的40个黄金法则

尼恩说在前面 在40岁老架构师 尼恩的读者交流群(50)中,很多小伙伴拿到非常优质的架构机会,常常找尼恩求助: 尼恩,我这边有一个部门技术负责人资深架构师的机会,非常难得, 但是有一个大厂高P在抢&#xff0…

第18课 移植FFmpeg和openCV到Android环境

要在Android下从事音视频开发,同样也绕不开ffmpegopencv,不管是初学者还是有一定经验的程序,面临的首要问题就是环境的搭建和库文件的编译配置等问题,特别是初学者,往往会在实际开发前浪费大量的时间来编译ffmpeg及ope…

【前后端的那些事】开源!前后端环境搭建+树形结构表格实现

文章目录 1. 前后端项目环境搭建2. table-tree2.1 后端准备2.2 前端准备 前言:最近写项目,发现了一些很有意思的功能,想写文章,录视频把这些内容记录下。但这些功能太零碎,如果为每个功能都单独搭建一个项目&#xff0…