后端(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、在命令行中,通过命令执行

相关推荐
阿标的博客9 分钟前
Electron学习(三):进程间通信
学习·electron
蒙奇D索大27 分钟前
【算法】回溯算法精讲:从深度优先搜索到剪枝优化
经验分享·笔记·算法·深度优先·剪枝·改行学it
修行者Java39 分钟前
Maven 全面解析:从概念到实战,包含 POM、BOM 的区别和应用
maven
爱奥尼欧1 小时前
【Linux笔记】网络部分——NAT-代理-网络穿透
linux·网络·笔记
一个平凡而乐于分享的小比特1 小时前
UCOS-III笔记(七)
笔记·ucosiii
HalvmånEver2 小时前
Linux:基础开发工具(三)
linux·运维·服务器·开发语言·学习·gcc/g++
FAREWELL000752 小时前
Lua学习记录(1) --- Lua中的条件分支语句和循环语句
学习·lua
小马爱打代码3 小时前
Java学习笔记:注解详解
java·笔记·学习
QT 小鲜肉3 小时前
【C++基础与提高】第十一章:面向对象编程进阶——继承与多态
java·linux·开发语言·c++·笔记·qt
四维碎片3 小时前
【Qt】多线程学习笔记
笔记·qt·学习