java——maven——基础转载

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 即可,如下图。


图1:获取坐标定位(猛击图片,查看原图)

 

 

 

 

 


选择合适的版本,在依赖详情页的最下方就是该版本依赖的 Maven 坐标,我们可以直接将其复制到项目的 pom.xml 中使用。

图2:Maven 依赖坐标

 

 

 

 

 

 

依赖管理

 

 

 

 

 

 

 

 

重点:当前有3个项目,项目2需要依赖项目3,那么pom中该怎么设置呢?如下:

 

即,把项目3的项目坐标,放入到项目2的依赖里面;

 

 

 

 

 

 

依赖传递:如上图项目2依赖项目3。当前项目3中依赖了junit以及log4j;项目2个有依赖log4j,当项目2依赖了项目3之后,项目2也可以使用junit了。这就叫依赖传递。

 

 

 

 

 

 

 

 

示例如下:

 

修改之前:

 

 

修改:

 

 

修改完成后: 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

依赖范围

 

 

posted @ 2023-04-15 12:51  小白龙白龙马  阅读(12)  评论(0编辑  收藏  举报