Maven-学习笔记01【基础-Maven基本概念】
- Java后端 学习路线 笔记汇总表【黑马程序员】
- 黑马程序员(腾讯微云)Maven基础讲义.pdf
- Maven-学习笔记01【基础-Maven基本概念】
- Maven-学习笔记02【基础-Maven的安装和仓库种类】
- Maven-学习笔记03【基础-Maven标准目录结构和常用命令】
- Maven-学习笔记04【基础-Maven生命周期和概念模型图】
- Maven-学习笔记05【基础-使用骨架创建Maven的Java工程】
- Maven-学习笔记06【基础-Maven工程Servlet实例】
目录
第1节 Maven基本概念
maven概述
什么是Maven?
Maven能解决什么问题?
maven依赖管理的概念
Maven的优势举例
依赖管理
maven一键构建概念
第1节 Maven基本概念
maven概述
什么是Maven?
Maven 的正确发音是[ˈmevən],而不是“马瘟”以及其他什么瘟。Maven 在美国是一个口语化的词语,代表专家、内行的意思。
一个对 Maven 比较正式的定义是这么说的:Maven 是一个项目管理工具,它包含了一个项目对象模型 (POM:Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管 理系统(Dependency Management System)和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。
Maven能解决什么问题?
可以用更通俗的方式来说明。我们知道,项目开发不仅仅是写写代码而已,期间会伴随着各种必不可少的事情要做,下面列举几个感受一下:
1、我们需要引用各种 jar 包,尤其是比较大的工程,引用的 jar 包往往有几十个乃至上百个, 每用到一种 jar 包,都需要手动引入工程目录,而且经常遇到各种让人抓狂的 jar 包冲突,版本冲突。
2、我们辛辛苦苦写好了 Java 文件,可是只懂 0 和 1 的白痴电脑却完全读不懂,需要将它编译成二进制字节码。好歹现在这项工作可以由各种集成开发工具帮我们完成,Eclipse、IDEA 等都可以将代码即时编译。当然,如果你嫌生命漫长,何不铺张,也可以用记事本来敲代码,然后用 javac 命令一个个地去编译,逗电脑玩。
3、世界上没有不存在 bug 的代码,计算机喜欢 bug 就和人们总是喜欢美女帅哥一样。为了追求美为了减少 bug,因此写完了代码,我们还要写一些单元测试,然后一个个的运行来检验代码质量。
4、再优雅的代码也是要出来卖的。我们后面还需要把代码与各种配置文件、资源整合到一起,定型打包,如果是 web 项目,还需要将之发布到服务器,供人蹂躏。试想,如果现在有一种工具,可以把你从上面的繁琐工作中解放出来,能帮你构建工程,管理 jar 包,编译代码,还能帮你自动运行单元测试,打包,生成报表,甚至能帮你部署项目,生成 Web 站 点,你会心动吗?Maven 就可以解决上面所提到的这些问题。
maven依赖管理的概念
Maven的优势举例
前面我们通过 Web 阶段项目,要能够将项目运行起来,就必须将该项目所依赖的一些 jar 包添加到 工程中,否则项目就不能运行。试想如果具有相同架构的项目有十个,那么我们就需要将这一份 jar 包复制到十个不同的工程中。我们一起来看一个 CRM项目的工程大小。 使用传统 Web 项目构建的 CRM 项目如下:
原因主要是因为上面的 WEB 程序要运行,我们必须将项目运行所需的 Jar 包复制到工程目录中,从 而导致了工程很大。
同样的项目,如果我们使用 Maven 工程来构建,会发现总体上工程的大小会少很多。如下图:
依赖管理
maven一键构建概念
Maven-学习笔记01【基础-Maven基本概念】相关推荐
- maven学习笔记之IDEA+Maven+Jetty运行一个简单的web项目
maven学习笔记 一.什么是maven Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Life ...
- 图神经网络学习笔记-01基础
图神经网络-01基础-图与图学习 文章目录 图神经网络-01基础-图与图学习 图是什么 图的定义 图的基本表示方法 e.g 图的存储 图的类型和性质 图算法 1. 寻路和图搜索算法 1). 搜索算法 ...
- Maven学习笔记-什么是maven?
1.什么是maven? Maven 翻译为"专家"."内行",是 Apache 下的一个纯 Java 开发的开源项目.基于项目对象模型(缩写:POM)概念,Ma ...
- Maven学习笔记(二) :Maven的安装与配置
在Windows上安装Maven: 1. 首先检查安装JDK 通过命令行运行命令:echo %JAVA_HOME%和java -version,能够查看当前java的安装文件夹及java的版本号 ...
- Maven学习笔记5:Maven属性、profile和资源过滤
Maven的六类属性 内置属性 主要有两个常用内置属性:${basedir}项目的根目录(包含pom.xml文件的目录),${version}项目版本 POM属性 用户可以使用该属性引用POM文件中对 ...
- PHP学习笔记01——基础语法
1 <!DOCTYPE html> 2 <html> 3 <?php 4 // 1.使用$加变量名来表示变量,php是弱类型语言,不要求在使用变量前声明,第一次赋值时变量 ...
- python基础知识笔记简书_Python学习笔记01——基础知识
Python常用数据类型: 整数(int),浮点数(float),字符串(str) 布尔型(True,False),空值(None) 列表(list):一种有序集合,可以随时添加删除其中的元素. cl ...
- 黑马Android76期学习笔记01基础--day07--广播,有、无序广播、特殊广播接受者、样式和主题,this与context的区别、普通对话框,进度条对话框、帧动画
1.广播Broadcastreceiver 1.定义一个广播接收者(定义一个类并继承BroadcastReceiver) public class OutGoingCallReveiver exten ...
- BGP协议学习笔记——BGP基础
BGP协议学习笔记--BGP基础(BGP概念.BGP报文.BGP状态机.BGP关系建立.BGP路由通告) 说明:本文学习笔记整理自网络.华为公开产品文档.华为公开PPT及部分的自我理解 一.BGP简介 ...
- 黑马程序员Maven学习笔记
前言 这里是黑马程序员Maven学习笔记分享,这是视频链接. 我还有其它前端内容的笔记,有需要可以查看. 文章目录 前言 基础 Maven简介 Maven是什么 Maven的作用 Maven的下载 M ...
最新文章
- java导入包大全_eclipse快速导入jar包的相关操作步骤
- 三代数据组装软件canu
- 查看linux 服务器有多少CPU
- matlab中句柄图性对像的设置
- 零基础怎么自学Java?自学Java有什么误区?
- iPhone 12搭载5nm A14芯片:晶体管数量高达150亿
- outlook 让附件在正文中显示 (REF rich リッチ)
- XML可扩展语言的发展
- 南极沉船_世界上一些神秘的沉船,都成了仿佛被世界遗弃的盛景
- mysql 银行卡卡号长度_卡bin查询sql分享
- hadoop容错性(详解版)
- 2019-3-5 梦
- 中国工程院院士倪光南:拥抱开源 与世界协同创新
- v5服务器装系统,HIPAA海鲅V5s笔记本一键u盘装系统win10教程
- 『Java CVE』CVE-2022-34169: Xalan-J XSLT整数截断漏洞PoC结构再浅析
- android项目中使用的服务器上,android 开发中使用okhttp上传文件到服务器
- python股票涨停_Python与量化投资-股票复盘工具-2018-02-02
- 分布式事务解决方案全解析
- 二维火Java实习生面试
- 计算物理需要的计算机知识,计算物理学概述.doc
热门文章
- java程序中可以有几个构造方法_java中多个构造方法可以相互引用么?
- java反多态的代码_Java多态性代码详解
- map集合怎么取value值最大的前三_Java之集合(下)
- 四十二、开始Vuex的学习:如何在Vue中使用Vuex
- 二十一、String、StringBuffer和StringBuilder的区别是什么?
- 为什么有时打不开爬取到的图片
- keras从入门到放弃(六)多层感知器(神经网络)
- 实录 | 平安人寿资深算法工程师张智:人机交互场景下的知识挖掘
- NLP Chinese Corpus:大规模中文自然语言处理语料
- GAN做图像翻译的一点总结