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>
相关推荐
小当家.10520 小时前
JVM八股详解(上部):核心原理与内存管理
java·jvm·学习·面试
heartbeat..20 小时前
Spring 声明式事务:原理、使用及失效场景详解
java·spring·面试·事务
寻星探路20 小时前
【Python 全栈测开之路】Python 基础语法精讲(三):函数、容器类型与文件处理
java·开发语言·c++·人工智能·python·ai·c#
xiaolyuh12320 小时前
【XXL-JOB】执行器 Netty服务 & Tomcat 进程+资源共用详解
java·tomcat
jasnet_u20 小时前
SpringCloudAlibaba的web微服务快速搭建
java·springboot·springlcoud
BD_Marathon20 小时前
启动tomcat报错,80 端口已经被其他程序占用
java·tomcat
计算机毕设指导620 小时前
基于微信小程序的精致护肤购物系统【源码文末联系】
java·spring boot·微信小程序·小程序·tomcat·maven·intellij-idea
曹轲恒20 小时前
方法finalize对垃圾回收器的影响
java·jvm
ybb_ymm20 小时前
尝试新版idea及免费学习使用
java·学习·intellij-idea
潇潇云起21 小时前
mapdb
java·开发语言·数据结构·db