1 依赖配置
- 依赖:指当前项目运行所需要的jar包,一个项目中可以引入多个依赖。
- 配置:
在 pom.xml 中编写<dependencies>
标签
在<dependencies>
标签中 使用<dependency>
引入坐标
定义坐标的groupId
,artifactId
,version
点击刷新按钮,引入最新加入的坐标
<dependencies>
<dependency>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
<version>1.2.3</version>
</dependency>
</dependencies>
判断依赖是否添加成功,点击右侧Maven面板查看dependencies
是否存在,版本号是否对应
如果引入依赖时,不知道依赖的坐标信息,可以到中央仓库https://mvnrepository.com/中搜索依赖坐标。
2 依赖传递
由于maven的依赖具有传递性,当导入一个依赖,会自动把所依赖的其他jar包也一起导入。
- 直接依赖:在当前项目中通过依赖配置建立的依赖关系
- 间接依赖:被依赖的资源如果依赖其他资源,当前项目间接依赖其他资源
排除依赖: 指主动断开依赖的资源。(被排除的资源无需指定版本)
只需要在直接依赖中<version>
的下一行中加上以下代码,XXX中填写需要排除的依赖
<exclusions>
<exclusion>
<groupId>XXX</groupId>
<artifactId>XXX</artifactId>
</exclusion>
</exclusions>
3 依赖范围
依赖的jar包,默认情况下,可以在任何地方使用。可以通过 <scope>…</ scope >
设置其作用范围。
作用范围:
- 主程序范围有效。(main文件夹范围内)
- 测试程序范围有效。(test文件夹范围内)
- 是否参与打包运行。(package指令范围内)
进行test测试时,需要添加以下依赖:
<dependency>
<groupld>junit</ groupld>
<artifactld>junit</ artifactld>
<version>4.10</version>
<scope>test</ scope >
</dependency>
Maven中单单使用package插件不能将所依赖的jar包打包进去,因此在Maven项目中打包需要在pom.xml文件中添加:
<!-- 打包插件 -->
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-assembly-plugin</artifactId>
<version>2.4.1</version>
<configuration>
<descriptorRefs>
<descriptorRef>jar-with-dependencies</descriptorRef>
</descriptorRefs>
</configuration>
<executions>
<execution>
<id>make-assembly</id>
<phase>package</phase>
<goals>
<goal>single</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
然后再使用package插件就可以将所需依赖打包
注意:<goal>single</goal>
为红色时,报错:Cannot resolve symbol ‘single’,解决方法:File -> Invalidate Caches / Restart–>Invalidate and Restart,作用:清空 cache 并且重启。语法就会正确高亮了。
4 生命周期
Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统一。
clean在一套生命周期,compile、test、package、install在一套生命周期
在同一套生命周期中,当运行后面的阶段时,前面的阶段都会运行,当运行install时,前面不会运行clean。
生命周期阶段:
clean:移除上一次构建生成的target文件
compile:编译项目源代码,.class字节码文件放在生成的target文件中
test:使用合适的单元测试框架运行测试(junit),在带有@Test注释的全都执行
package:将编译后的文件打包存在target文件,如:jar、war等
install:将项目打包成jar包安装到本地仓库D:\maven\apache-maven-3.6.1\maven- repo,jar包坐标信息可在本地仓库文件夹的xml文件中查看
运行指定生命周期的两种方式
- 在idea中,右侧的maven工具栏,选中对应的生命周期,双击执行。
- 在命令行中,通过命令执行。