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
-
测试是否在打包下能被打包起来:
-
Maven右栏–>lifecycle–>package进行打包
2.在target文件中查找:target文件–>右键–>open in–>explorer(文件夹)
3.使用压缩工具打开jar包,查找是否有相关依赖
-
生命周期
Maven为了保证所有maven项目构建过程的统一,有三套相互独立的生命周期
每套生命周期之间相互独立,然而每套生命周期内部包括一些阶段,这些阶段是有先后顺序的,比如运行package,idea会自动先运行compile–>test–>package.
目前我们只需要弄清楚五个阶段:
**
**
在idea里表现如下图:
test测试
- 引入依赖,比如junit单元测试
- 在test文件下的对应文件内编写单元测试方法
- 在单元测试方法上增加@Test注释(org.junit.Test)
- Maven右栏双击test,进行测试
- 查看打印出来的测试日志
package打包
Maven右栏–>lifecycle–>package进行打包
2.在target文件中查找:target文件–>右键–>open in–>explorer(文件夹)
3.使用压缩工具打开jar包,查找是否有相关依赖
install安装
查看是否安装成功:在maven本地仓库中查看是否存在该项目
如果想要跳过测试阶段:
生命周期的原理
双击“Lifecycle”中的生命周期,idea会执行Plugins的同名插件,完成相应的工作,并在target文件下生成相应的文件