一,什么是Maven
Maven 是一款基于 Java 平台的项目构建和依赖管理工具,简单来说,它解决了 Java 开发中的两个核心痛点:
- 手动管理 Jar 包(依赖)麻烦:比如需要自己下载 Jar 包、解决 Jar 包之间的版本冲突、手动将 Jar 包加入项目类路径。
- 项目构建流程不统一:比如编译、测试、打包、部署等步骤,不同开发者可能有不同的操作方式,容易出问题。
二、maven的核心概念
my-project
├── src
│ ├── main
│ │ ├── java # 主代码
│ │ └── resources # 配置文件
│ └── test
│ ├── java # 测试代码
│ └── resources # 测试配置
├── target # 构建输出
└── pom.xml # 项目配置

三.创建一个项目里面都有这些
1.idea :
这是 IDEA 开发工具的配置文件夹,存储了项目的 IDE 配置信息,比如代码风格、运行配置、插件设置等。
它是 IDEA 自动生成的,不需要手动修改,也不需要提交到代码仓库。
2.mvn:
这个文件夹包含了 Maven 包装器(Maven Wrapper)的相关文件,它的作用是让项目在没有全局安装 Maven 的环境下也能运行。
确保所有开发者使用的是项目指定的 Maven 版本,避免因版本不一致导致的问题。

3. src
这是项目的源代码和资源文件的根目录,Maven 项目的核心内容都在这里面。
src/main
存放项目的主程序代码和资源,也就是最终会打包到生产环境里的内容。
java:存放 Java 源代码,比如你的com.yunku.Main主类就在这里。resources:存放主程序的配置文件、静态资源等,比如application.properties、mybatis-config.xml。
src/test
存放项目的测试代码和资源,只在开发阶段用于单元测试、集成测试等。
java:存放测试代码,比如MainTest.java。resources:存放测试用的配置文件,比如application-test.properties。
4.pom.xml
这是 Maven 项目的核心配置文件,是整个项目的 “灵魂”。
- 定义项目的基本信息(GAV 坐标)。
- 声明项目依赖(比如你需要引入的 Spring、JUnit 等 Jar 包)。
- 配置构建规则(比如打包方式、插件等)。
1,基本坐标构成有
Maven 的基本坐标由 groupId、artifactId、version 三个部分组成,合称为 GAV,所有 Maven 项目和依赖都必须具备这三个坐标,缺一不可,它的核心作用是在全球范围内唯一标识一个项目(或一个 Jar 包依赖),避免命名冲突。
4.0.0
com.example //比如公司部门
maven-demo //项目
1.0.0-SNAPSHOT //版本号
2,声明依赖
使用maven首先需要配置阿里云镜像网站,和设置本地仓库位置
aliyunmaven
*
阿里云仓库
https://maven.aliyun.com/repository/public
//配置本地仓库
D:\DevTools\maven-repository
//需要找到指定位置
junit
junit
4.13.2
test
org.springframework
spring-core
5.3.20
3,配置构建规则(打包方式、插件等)
Maven-Demo-1.0
org.apache.maven.plugins
maven-compiler-plugin
3.8.1
8
8
UTF-8
四,text.java
1,作用是什么
测试类,测试代码
2,可以使用依赖,进行代码的操作
junit
junit
4.13.2
test

可以不用main函数可以直接运行方法
五,maven的生命周期
1,maven生命周期的依赖

2,依赖的作用
clean
- 清理项目构建产物,删除
target目录(编译、打包生成的文件均存储于此),为新的构建流程重置环境。
- 清理项目构建产物,删除
validate
- 验证项目配置的合法性(如
pom.xml格式、依赖完整性),确保后续构建流程可正常执行。
- 验证项目配置的合法性(如
compile
- 编译项目主代码(
src/main/java目录下的 Java 文件),将其转换为字节码文件,输出到target/classes目录。
- 编译项目主代码(
test
- 编译并执行测试代码(
src/test/java目录下的测试类),需依赖 JUnit 等测试框架,验证主代码功能的正确性。
- 编译并执行测试代码(
package
- 将编译后的代码打包为指定格式的产物(默认 Java 项目生成
jar包,Web 项目生成war包),产物存储于target目录。
- 将编译后的代码打包为指定格式的产物(默认 Java 项目生成
verify
- 对打包产物进行验证(如检查测试报告、代码质量等),确保产物符合项目规范。
install
- 将打包产物安装到本地 Maven 仓库,供本地其他 Maven 项目通过 GAV 坐标依赖引用。
site
- 生成项目文档站点(包含项目信息、测试报告、依赖说明等),便于项目的文档管理。
deploy
- 将打包产物部署到远程仓库(私服),供团队其他成员或其他项目共享使用。
3,依赖分为三种

浙公网安备 33010602011771号