Maven学习_智能云图库鱼皮
Maven的生命周期
mvn pre-cleanmvn cleanmvn post-cleanmvn validatemvn compilemvn testmvn packagemvn verify~/.m2/repository),供本地其他项目依赖mvn installmvn deploymvn pre-sitemvn sitemvn post-sitemvn site-deploy说明:
- 表格中仅列出各生命周期的核心阶段,实际每个生命周期包含更多细分阶段(如
default的initialize、process-resources等),但日常使用中核心阶段已能满足大部分需求。 - 执行任何阶段时,Maven 会自动按顺序执行该生命周期中所有在它之前的阶段(例如执行
mvn install会触发validate→compile→test→...→install的完整流程)。 - 三大生命周期相互独立,例如执行
mvn clean package会先执行clean生命周期的pre-clean和clean,再执行default生命周期到package的所有阶段。
Maven命令参数
参数说明表
-DskipTests-Dmaven.test.skip=true-P-T -T 4 或 -T 1C)-pl -am-o-X-U-f -s 💡 提示:
参数顺序通常不影响执行(如
mvn -DskipTests clean install有效)。使用
mvn help:effective-pom可查看合并参数后的实际 POM 配置。
常见作用域(Scope)对比:
testcompileprovidedruntimesystemprovided,但需显式指定路径分模块开发和设计
1. 02工程需要使用domain包下的实体类但是没有
2.domain包在03工程中
3.只需要在02工程中的POM文件中引入03工程的依赖坐标(该坐标在03工程的POM文件下可以找到)
4.但是此时你maven编译02工程会报错(03工程的依赖找不到)(因为本地仓库没有03工程依赖)
5.对03工程进行install可以看到03工程的依赖可以安装到了本地仓库,此时可以运行02工程了
依赖管理
依赖具有传递性

依赖的冲突性
依赖因为有传递性,所以会导致依赖冲突的问题(依赖多个版本的依赖,不确定用哪个)

可选依赖
可选依赖是隐藏当前工程所依赖的资源,隐藏后对应资源将不具备依赖的传递性
排除依赖
排除依赖是隐藏当前资源对应的依赖关系

聚合
为什么需要聚合
例如:依赖关系如下

当pojo包改变时可能会不兼容其他引用他的工程这个这个时候需要加一个聚合工程(maven
的根目录)

步骤


继承

在子工程中配置继承的父工程,就可以获取父工程的依赖(简化配置)
步骤





聚合和继承的区别
属性
用于定义变量和统一管理依赖的版本

资源文件引用属性




其他属性

版本管理

多环境开发

实现这种效果

第一步
在聚合工程的POM文件中
profiles> dev dev true prod prod qa qa
第二步:我们有很多配置文件

默认是在application.yml生效
里面有标签为active指定激活那一份配置文件
由聚合工程的pom文件动态填充
spring: profiles: active: \'@profileActive@\'
也可以在这里配置



跳过测试

私服



私服仓库分类

资源上传和下载
在setting.xml中配置上传的权限和路径

临时版本:对应依赖的版本后缀为SNAPSHOT(快照版本)
发布版本:对应依赖的版本后缀为RELEASE(发布版本)
在工程里面配置上传下载的路径

私服中配置连接中央仓库的镜像
在名为maven-central仓库中配置
步骤总结






