Java中Maven的依赖管理

依赖介绍

是指当前项目运行所需要的jar包,一个项目中可以引入多个依赖

配置

  1. 在pom.xml中编写<dependencies>标签

  2. 在<dependencies>中使用<dependency>引入标签

  3. 定义坐标的groupId、rtifactId、version

  4. 点击刷新按钮、引入新坐标

例如引入下面的坐标

复制代码
  <dependency>
            <groupId>ch.qos.logback</groupId>
            <artifactId>logback-classic</artifactId>
            <version>1.2.3</version>
        </dependency>

刷新以后我们发现maven里面的dependencies有变化

注意 如果我们引入的依赖在本地仓库中没有,就会去远程仓库或者中央仓库下载

如果不知道依赖的坐标信息看可以去 https://mvnrepository.com 中搜索

maven中的依赖传递

依赖的分类

直接依赖:在当前项目中通过依赖配置建立的依赖关系

简介依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源

可以使用junit排除依赖

复制代码
<exclusions>
                <exclusion>
                    <groupId>junit</groupId>
                    <artifactId>junit</artifactId>
                </exclusion>
  </exclusions>

如何查看依赖

鼠标右键Diagrams然后再选择Show dependencies就可以查看

依赖范围

  1. 主程序范围有效(main文件夹范围)

  2. 测试程序范围有效(test文件夹范围)

  3. 是否参入打包程序(package文件夹范围内)

在默认情况下,可以在任何地方使用可以通过<scope></scope>设置范围

SCOPE范围 主程序 测试程序 打包(运行) 范例
complie Y Y Y logi4
test - Y - junit
provided Y Y - servlet-api
runtime - Y Y jdbc驱动

maven的生命周期

maven的生命周期是为了对所有的maven项目构建进行抽象和统一

Maven有三套独立的生命周期

  1. clean:清理工作

  2. default:核心工作,如:编译、测试、打包、安装、部署等()

  3. site:生成报告、发布站点

每一套生命周期的包含一些阶段(phase),阶段是有顺序的,后面的阶段依赖前面的阶段

clean(清理)->complie(编译)->test(测试)->package(打包)->install(安装)

在同一套生命周期中,当运行后面的阶段,前面的阶段也会运行

maven生命周期执行的两种方式

  1. 在idea中,右侧的工具栏,选中对应的生命周期,双击执行

  2. 在命令提示符里面执行

相关推荐
程序猿零零漆3 分钟前
飞算JavaAI:革新Java开发的智能助手
java·飞算javaai
万能小锦鲤15 分钟前
《Java EE与中间件》实验三 基于Spring Boot框架的购物车
java·spring boot·mysql·实验报告·购物车·文档资源·java ee与中间件
麦兜*28 分钟前
【Spring Boot】Spring Boot 4.0 的颠覆性AI特性全景解析,结合智能编码实战案例、底层架构革新及Prompt工程手册
java·人工智能·spring boot·后端·spring·架构
野犬寒鸦36 分钟前
MyBatis-Plus 中使用 Wrapper 自定义 SQL
java·数据库·后端·sql·mybatis
expect7g44 分钟前
Java的DNS缓存问题
java·后端
oioihoii44 分钟前
C++11中的std::minmax与std::minmax_element:原理解析与实战
java·开发语言·c++
karry01301 小时前
高并发导致重复key问题--org.springframework.dao.DuplicateKeyException
java·数据库·ide
全栈凯哥1 小时前
20.缓存问题与解决方案详解教程
java·spring boot·redis·后端·缓存
小莫分享1 小时前
2023年最新总结,阿里,腾讯,百度,美团,头条等技术面试题目,以及答案,专家出题人分析汇总。
java·后端·面试·职场和发展
Brookty1 小时前
【操作系统】线程
java·linux·服务器·后端·学习·java-ee·操作系统