Maven

本文详细介绍了如何配置Maven的远程仓库地址,处理依赖传递问题,包括依赖作用范围的默认情况和指定范围。此外,还探讨了Maven生命周期中的test、package、install阶段及其原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Maven远程仓库地址

https://mvnrepository.com/

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

在这里插入图片描述

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

<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>

怎么配置依赖

在这里插入图片描述
在这里插入图片描述

比如引入logback依赖:
在这里插入图片描述

依赖传递

问题引入

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

在这里插入图片描述

问题解答

因为Maven的特性:依赖传递

在这里插入图片描述

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

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

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

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

排除依赖

例子:

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

在B的下用排除

在这里插入图片描述

依赖作用范围

默认情况

在这里插入图片描述

scope指定范围

在这里插入图片描述

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

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

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

      在这里插入图片描述

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

      在这里插入图片描述

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

生命周期

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

在这里插入图片描述

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

在这里插入图片描述

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

**在这里插入图片描述
**

在idea里表现如下图:在这里插入图片描述

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本地仓库中查看是否存在该项目

如果想要跳过测试阶段:

在这里插入图片描述

生命周期的原理

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

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值