后端(JavaWeb)学习笔记(CLASS 1):maven

maven是apache下的一个开源项目,是一款用于管理和构建java项目的工具

Apache Maven 是一个项目管理和构建工具,它基于项目对象模型(pom)的概念,通过一小段描述信息来管理项目的构建

一、作用

1、依赖管理:方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题

2、统一项目结构:提供标准、统一的项目结构

3、项目构建:标准跨平台的自动化项目构建方式

二、依赖管理

1、依赖配置

依赖:指当前项目运行所需要的jar包,一个项目中可引入多个依赖

配置:

1、在pom.xml中编写<dependencies>标签

2、在<dependencies>标签中使用<dependency>引入坐标

3、定义坐标的groupId,artifactId,vesion

4、点击刷新按钮,引入最新加入的坐标

2、依赖传递

依赖是具有传递性

直接依赖:在当前项目中通过依赖配置建立的依赖关系

间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源

排除依赖:排除依赖是指主动断开依赖的资源,被排除的资源无需指定版本

3、依赖范围

依赖的jar包,默认情况下,可以在任何地方使用。可以通过<scope>...</scope>设置其作用范围

作用范围:

主程序范围有效。(main文件夹范围内)

测试程序范围有效。(test文件夹范围内)

是否参与打包运行。(package指令范围内)

4、生命周期

Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统一

Maven中有3套相互独立的生命周期:

clean:清理工作

default:核心工作,如:编译、测试、打包、安装、部署等

site:生成报告、发布站点等

生命周期阶段:

注意:在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行

执行生命周期的两种方式

1、在idea中,右侧的maven工具栏,选中对应的生命周期,双击执行

2、在命令行中,通过命令执行

相关推荐
鸽子一号10 小时前
c#笔记之泛型和结构体、枚举
笔记
婷婷_17210 小时前
【PCIe 验证每日学习・Day22】PCIe 拓扑结构与 Switch / 桥片转发全解析
网络·学习·程序人生·芯片·pcie·pcie学习·pcie 拓扑
落痕的寒假10 小时前
[深度学习] 大模型学习7-多模态大模型全景解析
人工智能·深度学习·学习
墨^O^10 小时前
进程与线程的核心区别及 Linux 启动全过程解析
linux·c++·笔记·学习
寒秋花开曾相惜10 小时前
(学习笔记)3.9 异质的数据结构(3.9.1 结构)
c语言·网络·数据结构·数据库·笔记·学习
charlie11451419110 小时前
嵌入式C++教程实战之Linux下的单片机编程:从零搭建 STM32 开发工具链(4)从零构建 STM32 构建系统
linux·开发语言·c++·stm32·单片机·学习·嵌入式
AI成长日志10 小时前
【笔面试算法学习专栏】双指针专题:简单难度三题精讲(167.两数之和II、283.移动零、344.反转字符串)
学习·算法·面试
猹叉叉(学习版)10 小时前
【系统分析师_知识点整理】 10.软件需求工程
笔记·需求分析·软考·系统分析师
LuminousCPP10 小时前
C语言自定义类型全解析
c语言·笔记·枚举·结构体·联合体
AnalogElectronic11 小时前
uniapp学习6,滚动字幕播报
javascript·学习·uni-app