当前位置: 首页 > news >正文

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> 来排除它:

<dependency>
    <groupId>com.example</groupId>
    <artifactId>A</artifactId>
    <version>1.0</version>
    <exclusions>
        <exclusion>
            <groupId>com.example</groupId>
            <artifactId>C</artifactId>
        </exclusion>
    </exclusions>
</dependency>

 

相关文章:

  • Linux常用的命令
  • OpenCV旋转估计(3)帮助构建一个最大生成树(Maximum Spanning Tree)函数findMaxSpanningTree()
  • 聊聊langchain4j的HTTP Client
  • 关于MTU的使用(TCP/IP网络下载慢可能与此有关)
  • HJ C++11 Day6
  • Spring事务管理
  • 数据仓库的 DWD 分层架构:构建高效数据平台的基石
  • 科技重构旗舰SUV:腾势N9上市38.98万起
  • C++红黑树实现
  • 深度学习2-线性回归表示
  • 【读书笔记】华为《从偶然到必然》
  • SMBus协议(二):与I2C协议的对比
  • 5、linux c 线程 - 上
  • 基于STM32的两路电压测量仿真设计Proteus仿真+程序设计+设计报告+讲解视频
  • 使用LVS的 NAT 模式实现 3 台RS的轮询访问
  • (学习总结30)Linux 进程优先级、进程切换和环境变量
  • 使用LLM 构建MCP服务端和客户端
  • 信息安全和病毒防护——防火墙的作用
  • SFT和RLHF是什么意思?
  • Axure项目实战:智慧城市APP(四)医疗信息(动态面板、选中交互应用)
  • 河南发布高温橙警:郑州、洛阳等地最高气温将达40℃以上
  • 蔡建忠已任昆山市副市长、市公安局局长
  • 全国游泳冠军赛:孙杨、潘展乐同进400自决赛,今晚将正面对决
  • 坚决打好产业生态培育攻坚战!陈吉宁调研奉贤区
  • 世界数字教育大会发布“数字教育研究全球十大热点”
  • 马上评|家长抱婴儿值护学岗,如何避免“被自愿”?