Maven

Maven

maven是什么,可以干什么

  1. maven概念:一个项目管理工具,主要作用是在项目开发阶段 对Java项目进行依赖管理和项目构建。

  2. 依赖管理:就是对jar包的管理。通过导入maven坐标,就相当 于将仓库中的jar包导入了当前项目中。

  3. 项目构建:通过maven的一个命令就可以完成项目从清理、编 译、测试、报告、打包,部署整个过程。

maven仓库类型

  • 远程仓库

    • maven中央仓库(地址: http://repo2.maven.org/maven2/)
      • 中央仓库国内镜像仓库
    • maven私服(公司局域网内的仓库,需要自己搭建)
    • 其他公共远程仓库,例如 JBoss Maven 库,Java.net Maven 库等。
  • 本地仓库

    本地文件夹下创建,存储的一般是你的 Maven 项目构建生成的一些文件,其中包括 jar 包、pom 文件等。这些文件可以被其他的 Maven 项目引用,以便在构建时使用其中的依赖库。当你在 Maven 项目的 POM 文件中添加一个依赖时,Maven 将去查找这个依赖库,如果本地仓库中已经有这个依赖库的文件,则会将其从本地仓库中读取,否则将会去 Maven 中央仓库或者私有的 Maven 仓库中寻找并下载该依赖库文件。

    因此,本地仓库存储的文件既可以是你自己的项目产生的 artifact,也可以是其他项目产生的 artifact。

maven常用命令

  • compile:编译
  • clean:清理
  • test: 测试
  • package: 打包
  • install: 安装

依赖传递

​ 在maven中,依赖是可以传递的,假设存在三个项 目,分别是项目A,项目B以及项目C。假设C依赖B,B依赖A, 那么我们可以根据 maven项目依赖的特征不难推出项目C也依赖 A。

依赖冲突

​ 由于依赖传递现象的存在,spring-webmvc-4.2.4依 赖spring-beans-4.2.4, spring-aop-5.0.2依赖springbeans-5.0.2,但是发现 spring-beans-4.2.4加入到了工程中,而 我们希望spring-beans-5.0.2加入工程。这就造成了依赖冲突。

解决依赖冲突

(1)使用maven提供的依赖调节原则

  • 第一声明者优先原则

    在pom文件中定义依赖,以先声明的依赖为准。其实就是根 据坐标导入的顺序来确定最终使用哪个传递过来的依赖。

  • 路径近者优先原则

    在pom文件中定义依赖,以路径近者为准。还是上述情况, spring-aop和spring-webmvc都会传递过来spring-beans, 那如果直接把spring-beans的依赖直接写到pom文件中,那 么项目就不会再使用其他依赖传递来的spring-beans,因为 自己直接在pom中定义spring-beans要比其他依赖传递过来 的路径要近。

(2)排除依赖:

​ 可以使用exclusions标签将传递过来的依赖排 除出去。

(3)锁定版本:

​ 采用直接锁定版本的方法确定依赖jar包的版 本,版本锁定后则不考虑依赖的声明顺序或依赖的路径,以锁定 的版本为准添加到工 程中,此方法在企业开发中经常使用。

  • 第一步:在dependencyManagement标签中锁定依赖的版本

注意:pom文件中使用dependencyManagement标签进行依赖jar的版本锁定,并不会真正将jar包导入到项 目中,只是对这些jar的版本进行锁定。项目中使用哪 些jar包,还需要在dependencies标签中进行声明。

  • 第二步:在dependencies标签中声明需要导入的maven坐 标

配置maven

  1. 进入官网:地址

  2. 下载需要版本,这里推荐下载3.6.3版本的。

  3. 安装包解压到指定路径【注意最好没有中文】,这里推荐在D盘下新建一个maven文件夹。

  4. maven环境配置。

    • MAVEN_HOME配置

      win10系统:我的电脑/此电脑 --》右键属性 --》高级系统设置 --》环境变量 --》系统变量 --》新建 --》确定/保存
      win11系统:设置 --》系统信息 --》高级系统设置 --》环境变量 --》系统变量 --》新建 --》确定/保存

      • 变量名是MAVEN_HOME
      • 变量值是Maven的安装路径
    • Path路径添加

      • 下滑找到Path,双击进入,然后新建。
      • 新建内容填写:%MAVEN_HOME%\bin
  5. 验证

    win + R,输入cmd打开命令行窗口(dos窗口),输入命令验证Maven下载配置是否正确。

    mvn -version
    
  6. 配置maven本地仓库和国内镜像仓库

    1. 在指定路径下创建本地仓库,即在指定路径下新建一个文件夹用于存放maven下载的jar包文件。【推荐在D:\maven\下新建一个repository文件夹。】

    2. 打开maven安装目录下的 conf/settings.xml 文件,找到注释的 localRepository,并参照文件中的案例把新创建的本地仓库路径添加进配置文件中。

    3. 在settings.xml 文件中搜索到mirrors标签,并参照标签中的案例配置maven国内镜像仓库。

      <mirror>
          <id>alimaven</id>
          <name>aliyun maven</name>
          <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
          <mirrorOf>central</mirrorOf>
      </mirror>
      

使用maven

  1. 配置idea开发工具所使用的maven

    • 打开idea设置 File --》Settings

    • 搜索找到构建工具中的maven

    • 选择要使用的maven目录(bin目录上一层),修改maven配置settings.xml文件的路径,修改本地仓库路径。

  2. 使用idea创建maven项目【不同idea版本,操作大同小异】

    • 新建项目File --》New–》Project–》Maven
    • 填写项目名称、项目地址、GroupId后创建项目。
    • 项目创建成功
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值