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高级部分】

相关推荐
Leo655351 小时前
JDK8 的排序、分组求和,转换为Map
java·开发语言
书源丶4 小时前
二十八、API之《System 类》——与系统交互的“桥梁”
java·交互
Pluchon4 小时前
硅基计划4.0 算法 字符串
java·数据结构·学习·算法
野生技术架构师4 小时前
1000 道 Java 架构师岗面试题
java·开发语言
青柠编程4 小时前
基于Spring Boot的选课管理系统架构设计
java·spring boot·后端
Mr.wangh4 小时前
Redis主从复制
java·数据库·redis
Porunarufu4 小时前
JAVA·顺序逻辑控制
java·开发语言
1710orange5 小时前
java设计模式:适配器模式
java·设计模式·适配器模式
RainbowSea5 小时前
9. Spring AI 当中对应 MCP 的操作
java·spring·ai编程
RainbowSea6 小时前
10. Spring AI + RAG
java·spring·ai编程