Maven的常用命令及版本冲突

一、Maven的常用命令

|-----------------|------------------------|
| mvn clean | 清除 target 目录(编译生成的文件) |
| mvn compile | 编译源代码,.java -> .class |
| mvn test | 执行单元测试 |
| mvn package | 打包项目,生成 jar 包或 war |
| mvn install | 打包并将打好的包上传到本地仓库 |
| mvn deploy | 打包并将打好的包上传到远程仓库 |

二、解决 Maven 依赖的版本冲突

**版本冲突:**由于间接依赖导致一个 jar 包有多个不同的版本。

**场景:**当你引入一个库 A,它又依赖 B 和 C,而 B 和 C 依赖了不同版本的某个库 D。

方法一:手动指定版本

在 pom.xml 的 <dependencyManagement> 中手动指定版本,统一所有子模块使用相同版本,避免版本不一致问题。

方法二:排除指定依赖

如果某个库带来了不需要的版本,可以 <exclusions> 来排除它:

java 复制代码
<dependency>
    <groupId>com.example</groupId>
    <artifactId>A</artifactId>
    <version>1.0</version>
    <exclusions>
        <exclusion>
            <groupId>com.example</groupId>
            <artifactId>C</artifactId>
        </exclusion>
    </exclusions>
</dependency>
相关推荐
Cloud-Future11 分钟前
Spring MVC 处理请求的流程
java·spring·mvc
小扳12 分钟前
SpringBootWeb 篇-深入了解 ThreadLocal 存在内存泄漏问题
java·开发语言·spring boot·面试
lxsy18 分钟前
spring-ai-alibaba-deepresearch 学习(十三)——ResearcherNode
java·源码分析·deepresearch·ai-alibaba
ShineWinsu39 分钟前
对于单链表相关经典算法题:206. 反转链表及876. 链表的中间结点的解析
java·c语言·数据结构·学习·算法·链表·力扣
迦蓝叶44 分钟前
JAiRouter 配置文件重构纪实 ——基于单一职责原则的模块化拆分与内聚性提升
java·网关·ai·重构·openai·prometheus·单一职责原则
ST.J1 小时前
系统架构思考20241204
java·笔记·系统架构
TDengine (老段)1 小时前
TDengine 时间函数 TIMETRUNCATE 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
给我个面子中不2 小时前
JUC、JVM八股补充
java·开发语言·jvm
mask哥3 小时前
详解flink性能优化
java·大数据·微服务·性能优化·flink·kafka·stream
hqxstudying3 小时前
Kafka 深入研究:从架构革新到性能优化的全面解析
java·开发语言·微服务·kafka·springcloud