JavaWeb——后端之maven

三、后端Web开发

1. Maven

1.1 概念

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

作用:

  • 依赖管理:jar包,避免版本冲突问题------不用手动导jar包,只需要在配置文件(pom.xml)中描述依赖信息,maven会自动联网下载------是基于项目对象模型(Project object model,POM)的概念,通过一小段描述信息来管理项目的构建。
  • 统一项目结构:提供标准、统一的项目结构,不同的开发工具都可以进行开发操作
  • 项目构建:标准跨平台的自动化项目构建方式

1.2 依赖管理

1)依赖配置

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

配置:

  • 在pom.xml中编写<dependencies>标签
  • 在<dependencies>标签中,使用<dependency>引入坐标
  • 定义坐标的groupId, artifactId, version------https://mvnrepository.com/
  • 点击刷新按钮,引入最新加入的坐标

2)依赖传递

项目依赖的依赖会被自动导入

依赖分类:

  • 直接依赖:在当前项目中通过依赖配置建立的依赖关系
  • 间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源

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

<exclusions>

​ <exclusion>

​ <groupId>XXX</groupId>

​ <artifactId>XXX</artifactId>

​ </exclusion>

</exclusions>

3)依赖范围

默认情况: 可以在任何地方使用(主程序范围内,测试程序范围内,是否参与打包运行(package指令范围内))。

可以通过<scope>XXX</scope>设置其作用范围

scope值 主程序 测试程序 打包(运行) 范例
compile(默认) log4j
test × × junit
provided × servlet-api
runtime × jdbc驱动

4)生命周期

对所有的maven项目构建过程进行抽象和统一

3套相互独立的生命周期------每套生命周期包含一些阶段,阶段是有顺序的,后面的阶段依赖于前面的阶段,同一套生命周期中,当后面的阶段运行时,前面的阶段都会运行

  • clean: 清理工作
  • default: 核心工作,如:编译、测试、打包、安装、部署等
  • site: 生成报告、发布站点等

clean:移除上一次构建生成的文件

compite:编译项目源代码

test:使用合适的单元测试框架运行测试

package:将编译后的文件打包

install:安装项目到本地仓库

执行方式

  • 双击maven项目中Lifecycle目录下的生命周期
  • 在命令行中输入指令mvn 要执行的生命周期

本质

生命周期是个虚拟的概念,实际上每个操作都是由插件完成的

【未完待续......maven高级部分】

相关推荐
失业写写八股文1 小时前
Spring基础:Spring的事物哪些情况下会失效
java·后端·spring
吧啦吧啦吡叭卜4 小时前
【打卡d5】快速排序 归并排序
java·算法·排序算法
大得3694 小时前
宝塔docker切换存储目录
java·docker·eureka
东阳马生架构5 小时前
Netty基础—4.NIO的使用简介一
java·网络·netty
luckyext5 小时前
Postman用JSON格式数据发送POST请求及注意事项
java·前端·后端·测试工具·c#·json·postman
程序视点6 小时前
Redis集群机制及一个Redis架构演进实例
java·redis·后端
鱼樱前端6 小时前
Navicat17基础使用
java·后端
黑风风6 小时前
深入理解Spring Boot Starter及如何自定义Starter
java·spring boot·后端
px52133446 小时前
Solder leakage problems and improvement strategies in electronics manufacturing
java·前端·数据库·pcb工艺
鱼樱前端6 小时前
Mac M1安装MySQL步骤
java·后端