Maven依赖
2023-06-13 09:11:54 时间
Maven 是一款优秀的依赖管理工具,那么什么是依赖呢?
groupId、artifactId 和 version:依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,Maven 根据坐标才能找到需要的依赖。 type:依赖的类型,对应于项目坐标定义的 packaging。大部分情况下,该元素不必声明,其默认值是 jar。 scope:依赖的范围。 optional:标记依赖是否可选。 exclusions:用来排除传递性依赖。
获取依赖坐标
通俗的说,如果一个 Maven 构建所产生的构件(例如 Jar 文件)被其他项目引用,那么该构件就是其他项目的依赖。
Maven 坐标是依赖的前提,所有 Maven 项目必须明确定义自己的坐标,只有这样,它们才可能成为其他项目的依赖。当一个项目的构件成为其他项目的依赖时,该项目的坐标才能体现出它的价值。
当 Maven 项目需要声明某一个依赖时,通常只需要在其 POM 中配置该依赖的坐标信息,Maven 会根据坐标自动将依赖下载到项目中。
例如,某个项目中使用 servlet-api 作为其依赖,其配置如下。
project xmlns= http://maven.apache.org/POM/4.0.0 xmlns:xsi= http://www.w3.org/2001/XMLSchema-instance xsi:schemaLocation= http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd dependencies dependency groupId javax.servlet /groupId artifactId servlet-api /artifactId version 2.5 /version scope provided /scope /dependency /dependencies /project
dependencies 元素可以包含一个或者多个 dependency 子元素,用以声明一个或者多个项目依赖,每个依赖都可以包含以下元素:
groupId、artifactId 和 version:依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,Maven 根据坐标才能找到需要的依赖。 type:依赖的类型,对应于项目坐标定义的 packaging。大部分情况下,该元素不必声明,其默认值是 jar。 scope:依赖的范围。 optional:标记依赖是否可选。 exclusions:用来排除传递性依赖。
大部分依赖声明只包含 groupId、artifactId 和 version 三个元素,至于 scope、optional 以及 exclusions 等元素,了解即可,在后续的学习中我们会陆续进行讲解。
获取依赖坐标
通常情况下,绝大部分依赖的 Maven 坐标都能在 https://mvnrepository.com/ 中获取。
例如,当项目中需要引入 junit 进行单元测试时, 我们只需要在首页搜索 junit 即可,如下图。
图1:获取坐标定位(猛击图片,查看原图)选择合适的版本,在依赖详情页的最下方就是该版本依赖的 Maven 坐标,我们可以直接将其复制到项目的 pom.xml 中使用。
图2:Maven 依赖坐标21072.html
javaMavenServlet相关文章
- Maven学习笔记(十二)-maven打包之resource配置
- 解决idea中maven项目的pom文件不会自动下载jar包问题 + 更新不完整依赖命令
- Maven项目导入时,org .apache.maven.plugins依赖爆红报错
- Maven 生成打包可执行jar包
- window安装maven配置环境变量[通俗易懂]
- Eclipse使用Maven创建Web时错误:Could not resolve archetype org.apache.maven.archetypes:maven-archetype-webap
- 架构:第二章:单一(伪分布式)架构之使用Maven建立各个工程之间的依赖、继承、聚合关系
- 如何使用IntelliJ IDEA 配置Maven
- spring-boot-devtools的作用_maven compiler plugin
- maven项目使用mybatis插件Free Mybatis plugin「建议收藏」
- filter-policy_maven reimport
- Maven的SSM依赖导入基本模板
- Maven 之 依赖管理
- maven仓库手动添加本地jar包
- springmvc+maven框架介绍详解编程语言
- pluginManagement:管理Maven插件
- Maven项目的构建与测试
- Maven从仓库中解析依赖的机制
- MySQL驱动Maven依赖管理(mysql驱动pom)
- Linux下快速配置Maven环境(linux配置maven)
- 驱动Maven管理Oracle数据库驱动的安装与部署(maven的oracle)