JAVA-Web后端学习1 Maven
我们从来都不知道做一件事情的意义到底是什么,这值得我们花一生去探索。
Maven
Maven是一款用于管理和构建Java项目的工具,是apache阿帕奇武装直升机旗下一个开源项目。
Maven作用
依赖管理:便于我们快捷管理项目依赖的jar包,无需在文件目录中添加,直接手动在pom.xml中添加即可
项目构建:标准化的跨平台(windows,Linux,Macos)自动化项目构建方式,从而实现一键编译、打包等
统一项目结构:提供标准、统一的项目结构,便于在不同开发工具之间切换
Maven坐标
Maven中的坐标是资源(jar)唯一标识,通过该坐标可以唯一定位资源位置
使用坐标定义项目或者引入项目中需要的依赖
Maven坐标构成如下:
groupId 定义当前Maven项目隶属组织名称
artifactId 定义当前Maven项目名称
version 定义当前版本号
<groupId>org.example</groupId>
<artifactId>maven1</artifactId>
<version>1.0-SNAPSHOT</version>
<dependencies>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.16.1</version>
</dependency>
</dependencies>
Maven集成中的依赖排除
由于Maven在引入依赖项目时会引入依赖的依赖,从而导致其和默认版本发生冲突,因此需要进行依赖排除从而防止冲突
如图所示,引入的依赖会有进一层的依赖

所以我们通过添加

Maven生命周期
Maven存在不同的生命周期。Maven 的生命周期(Lifecycle)是 Maven 构建过程的核心概念,它定义了项目从编译到部署的完整流程。Maven 的生命周期由一系列有序的阶段(Phase)组成,每个阶段都执行特定的任务。
我们只需要重点关注五个阶段即可:
clean 清理上一次构建的产物
compile 编译项目代码
test 使用合适的单元测试框架运行测试代码
package 打包代码,生成jar等
install 安装项目到本地
Maven依赖范围
Maven的pom.xml中添加的依赖是存在依赖范围,使用

<dependency>
<groupId>org.junit.jupiter</groupId>
<artifactId>junit-jupiter</artifactId>
<version>5.9.1</version>
<scope>test</scope> //标志test范围
</dependency>
此时如果在main程序中调用,那么就会出现错误

Maven配置常见问题
Q:依赖文件下载出错出现残留文件影响下一次依赖文件的下载
A:这需要我们去依赖文件的文件夹中删除.lastUpdated文件,或者为了方便,使用命令行del /s *.lastUpdated删除所有文件
实在不行直接关闭项目重新加载,或者使用自定义的清理脚本文件

浙公网安备 33010602011771号