Maven依赖管理(核心)

依赖配置

  • 依赖:指当前项目运行所需要的jar包,一个项目可以引入多个依赖
  • 配置:
    • 在pom.xml中编写<dependencies>标签
    • 在<dependencies>标签中使用<dependency>引入坐标
    • 定义坐标的groupId、artifacId、version
    • 点击刷新按钮,引入最新加入的坐标

ps:如果引入的依赖本地仓库不存在,将会连接远程仓库/中央仓库,然后进行依赖下载;如果不知道依赖的坐标信息,可以到Maven Repository: Search/Browse/Explore (mvnrepository.com)去查询

依赖传递

  • 依赖具有传递性
  • 直接依赖:当前项目中通过依赖配置建立的依赖联系
  • 间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源
    • WebTest工程中也会有FirstTest:1.0/2.0Jar包

具体示例如下:

首先准备多个相互依赖的关系的maven项目

首先来看A项目的pom.xml文件

 其中A项目依赖B项目

同样的B项目中的pom.xml文件显示

 B项目依赖项目C

最后看C项目

 由上述可以知道,A项目中未直接依赖C项目,但是通过B项目间接依赖了C项目

具体图示如下:

 ps:在专业版二点idea中可以通过视图查看maven项目的依赖关系

具体如下:

在需要查看的maven项目中右键选择图标--显示依赖项

 最终结果如下:

 便可以清晰地显示依赖关系

  • 排除依赖:在主动断开依赖的资源,被排除的资源无需指定版本

通过在pom.xml文件中使用<exclusions></exclusions>标签来完成排除依赖

以上述A项目为例操作如下:

在看依赖关系

 完成了依赖排除

依赖范围

  • 依赖的jar包,在默认情况下,可以在任何地方使用。可以通过<scope>...</scope>标签设置其使用范围,作用范围:
    • 主程序范围有效。(main文件夹范围内)
    • 测试程序范围有效。(test文件夹范围内)
    • 是否参与打包运行。(package指令范围)
  • scope常见取值

Maven生命周期

Mavnen的生命周期是为了对所有的maven项目构建过程进行抽象和统一

Maven中由3套相互独立的生命周期

  • clean:清理工作
  • default:核心工作:编译、测试、打包、安装、部署等
  • site:生成报告、发布站点
  1. clean生命周期:该生命周期用于清理项目,包括删除生成的文件和目录。它包括以下阶段:

    • pre-clean:执行清理前的准备工作。
    • clean:清理生成的文件和目录。
    • post-clean:清理后的操作。
  2. default生命周期:该生命周期是构建项目的核心生命周期,用于编译、测试、打包、部署等。它包括以下阶段:

    • validate:验证项目是否正确且所有必要信息可用。
    • compile:编译项目的源代码。
    • test:使用适当的单元测试框架测试编译的源代码。
    • package:将编译的代码打包成可分发的格式,如JAR。
    • verify:对集成测试的结果进行检查。
    • install:将包安装到本地仓库,供本地其他项目使用。
    • deploy:将最终的包复制到远程仓库,供其他开发人员和项目使用。
  3. site生命周期:该生命周期用于生成项目的站点文档。它包括以下阶段:

    • pre-site:执行生成站点文档前的准备工作。
    • site:生成项目的站点文档。
    • post-site:生成站点文档后的操作,如部署站点到服务器上。
    • site-deploy:将生成的站点文档部署到服务器上。

 ps:在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行

执行生命周期

  •  在idea中,右侧的maven工具栏,选中对应的生命周期,双击执行
  • 在命令行中,通过命令执行
    • mvn + 要执行的阶段名称
      • mvn clean

ps:各个生命周期的运行是通过对应的插件来完成的,mavne的本质是一个插件执行框架

猜你喜欢

转载自blog.csdn.net/weixin_64939936/article/details/131644464
今日推荐