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>
相关推荐
fat house cat_3 小时前
【netty】基于主从Reactor多线程模型|如何解决粘包拆包问题|零拷贝
java·服务器·网络·netty
青云交3 小时前
Java 大视界 -- Java 大数据在智能教育学习社区互动模式创新与用户活跃度提升中的应用(426)
java·大数据·学习·flink 实时计算·智能教育社区·互动模式创新·用户活跃度
神奇的海马体3 小时前
Tomcat隐藏版本号
java·tomcat
拜见老天師3 小时前
使用mybatis-plus,实现将排序时,字段值为NULL的数据排在最后
java·mybatis
应茶茶4 小时前
C++11 核心新特性:从语法重构到工程化实践
java·开发语言·c++
Reggie_L4 小时前
RabbitMQ -- 高级特性
java·rabbitmq·java-rabbitmq
lang201509286 小时前
Spring空安全指南:告别空指针异常
java·安全·spring
学到头秃的suhian6 小时前
Java内存区域
java·jvm
栗子飞啊飞6 小时前
如何实现大模型 “边生成边显示“
java·deepseek