Maven

文章目录

    • Maven远程仓库地址
    • 怎么配置依赖
    • 依赖传递
      • 问题引入
      • 问题解答
    • 排除依赖
    • 依赖作用范围
      • 默认情况
      • scope指定范围
    • 生命周期
      • test测试
      • package打包
      • install安装
      • 生命周期的原理

Maven远程仓库地址

https://mvnrepository.com/

可以搜索想要的依赖,参考使用频次判断选择哪个版本。

Maven_第1张图片

得到maven的依
赖坐标,注意要是否需要删除scope(依赖作用范围)


ch.qos.logback
logback-classic
1.2.3

怎么配置依赖

Maven_第2张图片
在这里插入图片描述

比如引入logback依赖:
Maven_第3张图片

依赖传递

问题引入

为什么除了引入的logback-classic依赖之外,还有两种其他的依赖?

Maven_第4张图片

问题解答

因为Maven的特性:依赖传递

Maven_第5张图片

即使A只引入了一个jar包和一个项目,然而实际上图中的六个jar包,两个项目它都依赖了。

  • 直接依赖:在当前项目中通过依赖配置建立的依赖关系

  • 间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源

但是如果A依赖B的时候,不想把B的所有依赖全都传递了怎么办?

排除依赖

例子:

  • A想要依赖B
  • B有一个junit依赖
  • A不想要junit依赖

在B的下用排除

Maven_第6张图片

依赖作用范围

默认情况

Maven_第7张图片

scope指定范围

Maven_第8张图片

  • 测试是否在主程序、测试程序内是否有用:使用该jar包提供的方法,在main和test下分别测试,注意无需手动import

  • 测试是否在打包下能被打包起来:

    1. Maven右栏–>lifecycle–>package进行打包

      Maven_第9张图片

      2.在target文件中查找:target文件–>右键–>open in–>explorer(文件夹)

      Maven_第10张图片

      3.使用压缩工具打开jar包,查找是否有相关依赖

生命周期

Maven为了保证所有maven项目构建过程的统一,有三套相互独立的生命周期

Maven_第11张图片

每套生命周期之间相互独立,然而每套生命周期内部包括一些阶段,这些阶段是有先后顺序的,比如运行package,idea会自动先运行compile–>test–>package.

Maven_第12张图片

目前我们只需要弄清楚五个阶段:

**Maven_第13张图片
**

在idea里表现如下图:Maven_第14张图片

test测试

  1. 引入依赖,比如junit单元测试
  2. 在test文件下的对应文件内编写单元测试方法
  3. 在单元测试方法上增加@Test注释(org.junit.Test)
  4. Maven右栏双击test,进行测试
  5. 查看打印出来的测试日志

package打包

Maven右栏–>lifecycle–>package进行打包

2.在target文件中查找:target文件–>右键–>open in–>explorer(文件夹)

3.使用压缩工具打开jar包,查找是否有相关依赖

install安装

查看是否安装成功:在maven本地仓库中查看是否存在该项目

如果想要跳过测试阶段:

Maven_第15张图片

生命周期的原理

双击“Lifecycle”中的生命周期,idea会执行Plugins的同名插件,完成相应的工作,并在target文件下生成相应的文件

Maven_第16张图片

你可能感兴趣的:(JavaWeb学习笔记,maven,数据库,java)