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>
相关推荐
liuyao_xianhui3 分钟前
优选算法_判断字符是否唯一_C++
java·开发语言·数据结构·c++·算法·链表
代码雕刻家7 分钟前
3.4.Maven-idea集成-导入Maven项目
java·maven·intellij-idea
2301_8035545211 分钟前
c++中的CAS是什么
java·开发语言·c++
java1234_小锋18 分钟前
Java高频面试题:RabbitMQ中有哪几种交换机类型?
java·rabbitmq·java-rabbitmq
翘着二郎腿的程序猿21 分钟前
SpringBoot集成@Slf4j注解:优雅输出日志,告别手动new Logger
java·spring boot·intellij-idea
wyt53142922 分钟前
新手如何快速搭建一个Springboot项目
java·spring boot·后端
jinanmichael23 分钟前
【SpringBoot】日志文件
java·spring boot·spring
网小鱼的学习笔记26 分钟前
创建型设计模式(工厂、builder、原型、单例)
java·后端·设计模式
Kim Jackson28 分钟前
我的世界Java版1.21.4的Fabric模组开发教程(二十二)创建生物(上)实体外观与动画设计
java·开发语言·fabric
逆境不可逃37 分钟前
【从零入门23种设计模式21】行为型之空对象模式
java·开发语言·数据库·算法·设计模式·职场和发展