Maven 学习

  • 什么是Maven

一篇文章学懂Maven

  • Maven的必要性:

由于 Java 的生态非常丰富,无论你想实现什么功能,都能找到对应的工具类,这些工具类都是以 jar 包的形式出现的,例如 Spring,SpringMVC、MyBatis、数据库驱动,等等,都是以 jar 包的形式出现的,jar 包之间会有关联,在使用一个依赖之前,还需要确定这个依赖所依赖的其他依赖,所以,当项目比较大的时候,依赖管理会变得非常麻烦臃肿,这是 Maven 解决的第一个问题。

Maven 还可以处理多模块项目。简单的项目,单模块分包处理即可,如果项目比较复杂,要做成多模块项目,例如一个电商项目有订单模块、会员模块、商品模块、支付模块...,一般来说,多模块项目,每一个模块无法独立运行,要多个模块合在一起,项目才可以运行,这个时候,借助 Maven 工具,可以实现项目的一键打包。

 

  • Maven的两大核心:
  • 依赖管理:对 jar 的统一管理(Maven 提供了一个 Maven 的中央仓库,https://mvnrepository.com/,当我们在项目中添加完依赖之后,Maven 会自动去中央仓库下载相关的依赖,并且解决依赖的依赖问题)
  • 项目构建:对项目进行编译、测试、打包、部署、上传到私服等
  • Maven坐标:

俗称 gav:使用下面三个向量子仓库中唯一定位一个 Maven 工程

    在项目中的 pom.xml 文件中,我们可以看到下面gav的定义:

    1、groupid:公司或组织域名倒序 

      <groupid>com.ys.maven</groupid>

    2、artifactid:模块名,也是实际项目的名称

      <artifactid>Maven_05</artifactid>

    3、version:当前项目的版本

      <version>0.0.1-SNAPSHOT</version>

groupId,artifactId和version:依赖的基本坐标,对于任何一个依赖来说,基本坐标是最重要的,Maven根据坐标才能找到需要的依赖。

  • Maven的group-Id:

      Group-id分为三部分,每个部分以“.”相隔,第一部分是项目用途,比如用于商业的就是“com”,用于非盈利性质就是“org”,第二部分是公司名,比如“alibaba”,“jingdong”,第三部分是项目名。

Maven 的 文件目录结构:

bin binary二进制文件的简称,里面存放的一般是可执行的二进制文件

boot 里面存放启动目录的核心文件

conf 里面存放配置文件,包含核心全局配置文件settings.xml

lib   里面存放类库或者资源文件

  • Maven 仓库:

一篇文章学懂Maven

      仓库选址优先级:

本机仓库>setting.xml配置的镜像仓库>默认中央仓库

  • Maven 依赖:

      Maven依赖具有传递性

一篇文章学懂Maven

      依赖范围

一篇文章学懂Maven

一篇文章学懂Maven

一篇文章学懂Maven

     父工程可以通过pom.xml配置import属性结合dependencyManagement,强制规范子工程项目版本举例:

    父类定义如下:

一篇文章学懂Maven

一篇文章学懂Maven

一篇文章学懂Maven

         子类定义如下:

一篇文章学懂Maven

         模块聚合:

一篇文章学懂Maven

 

         总项目一般为pom项目(在 pom.xml 文件中设置)

一篇文章学懂Maven

         在modules中添加模块

         模块中定义如下:

一篇文章学懂Maven

 

 

 

 

相关文章:

  • 2021-10-03
  • 2022-12-23
  • 2022-12-23
  • 2021-11-21
  • 2021-06-19
  • 2021-04-12
  • 2021-12-28
  • 2021-11-27
猜你喜欢
  • 2021-10-06
  • 2021-11-27
  • 2021-09-11
  • 2021-08-04
  • 2021-08-11
相关资源
相似解决方案