Maven 坐标
Maven 坐标一套规则,它规定:世界上任何一个构件都可以使用 Maven 坐标并作为其唯一标识,Maven 坐标包括 groupId、artifactId、version、packaging 等元素,只要用户提供了正确的坐标元素,Maven 就能找到对应的构件。
任何一个构件都必须明确定义自己的坐标,这是 Maven 的强制要求,任何构件都不能例外。我们在开发 Maven 项目时,也需要为其定义合适的坐标,只有定义了坐标,其他项目才能引用该项目生成的构件。
Maven 坐标主要由以下元素组成:
- groupId: 项目组 ID,定义当前 Maven 项目隶属的组织或公司,通常是唯一的。它的取值一般是项目所属公司或组织的网址或 URL 的反写,例如 net.biancheng.www。
- artifactId: 项目 ID,通常是项目的名称。
- version:版本。
- packaging:项目的打包方式,默认值为 jar。
以上 4 个元素中 groupId、artifactId 和 version 是必须定义的,packaging 是可选的。
依赖声明
Maven 坐标是依赖的前提,所有 Maven 项目必须明确定义自己的坐标,只有这样,它们才可能成为其他项目的依赖。当一个项目的构件成为其他项目的依赖时,该项目的坐标才能体现出它的价值。
当 Maven 项目需要声明某一个依赖时,通常只需要在其 POM 中配置该依赖的坐标信息,Maven 会根据坐标自动将依赖下载到项目中。
dependencies 元素可以包含一个或者多个 dependency 子元素,用以声明一个或者多个项目依赖,每个依赖都可以包含以下元素:
- groupId、artifactId 和 version:依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,Maven 根据坐标才能找到需要的依赖。
- type:依赖的类型,对应于项目坐标定义的 packaging。大部分情况下,该元素不必声明,其默认值是 jar。
- scope:依赖的范围。
- optional:标记依赖是否可选。
- exclusions:用来排除传递性依赖。
获取依赖坐标
通常情况下,绝大部分依赖的 Maven 坐标都能在 https://mvnrepository.com/ 中获取。
例如,当项目中需要引入 junit 进行单元测试时, 我们只需要在首页搜索 junit 即可,如下图。
选择合适的版本,在依赖详情页的最下方就是该版本依赖的 Maven 坐标,我们可以直接将其复制到项目的 pom.xml 中使用。
依赖管理:
重点:当前有3个项目,项目2需要依赖项目3,那么pom中该怎么设置呢?如下:
即,把项目3的项目坐标,放入到项目2的依赖里面;
依赖传递:如上图项目2依赖项目3。当前项目3中依赖了junit以及log4j;项目2个有依赖log4j,当项目2依赖了项目3之后,项目2也可以使用junit了。这就叫依赖传递。
示例如下:
修改之前:
修改:
修改完成后:
依赖范围:
标签:Maven,依赖,java,项目,元素,maven,坐标,构件,转载 From: https://www.cnblogs.com/xiaobaibailongma/p/17320907.html