配置本地仓库
找到apache-maven-3.6.1confsetting.xml文件,修改本地仓库的地址。
<localRepository>E:apache-maven-3.6.1
epertories</localRepository>
Maven常用命令
1、mvn version:查看版本信息。
2、mvn clean:清除编译产生的target文件夹内容。
3、mvn compile:编译项目代码。
4、mvn test:运行src/test/java下以Test结尾的单元测试类。
5、mvn package:打包项目到target目录下。
6、mvn install:打包后将其放在本地仓库。
Maven生命周期
1、Clean生命周期:执行mvn post-clean命令时,Maven调用clean生命周期。
2、Default生命周期:该阶段之前以及包括该阶段在内的所有命令会被执行。
3、Site生命周期:一般用来创建新的报告文档、部署站点等。
Eclipse关联Maven
1、Window--->Preferences--->Maven--->Installations 绑定我们的安装路径。
2、Window--->Preferences--->Maven--->User Settings 绑定我们的setting.xml文件。
IDEA关联Maven
1、File--->Other setting--->Setings for New Projects--->Build,Excuting,Deployment --->Build Tools--->Maven--->Maven home directory
2、File--->Other setting--->Setings for New Projects--->Build,Excuting,Deployment --->Build Tools--->Maven--->User settings file
设置Maven的JDK版本
找到本地的setting.xml文件修改其内容。
<profiles>
<profile>
<id>jdk-1.8</id>
<activation>
<activeByDefault>true</activeByDefault>
<jdk>1.8</jdk>
</activation>
<properties>
<maven.compiler.source>1.8</maven.compiler.source>
<maven.compiler.target>1.8</maven.compiler.target>
<maven.compiler.compilerVersion>1.8</maven.compiler.compilerVersion>
</properties>
</profile>
</profiles>
Maven依赖范围
1、compile: 编译依赖范围。如果没有指定,就会默认使用该依赖范围,对于编译、测试、运行三种都有效。
2、test:测试依赖范围。使用此依赖范围的Maven依赖,只对于测试有效。
3、provided:以提供依赖范围。使用此依赖范围的Maven依赖,对于编译和测试有效,但在运行时无效。
4、runtime:运行时依赖范围。使用此依赖范围的Maven依赖,对于测试和运行有效,但在编译主代码时无效。
5、system:系统依赖范围。从参与度来说,和provided相同,不过被依赖项不会从Maven仓库下载,而是从本地文件系统拿。
6、import:导入依赖范围。该依赖范围不会对三种产生实际的影响。只有在dependencyManagement下才有效果。
Maven传递依赖
假设项目A依赖项目B,项目B依赖项目C, 我们说B是A的直接依赖,C是A的传递性依赖。
Maven解决冲突
1、第一声明这优先原则。谁先定义,就用谁的依赖。
2、路径近者优先原则。直接依赖要高于传递依赖。
3、排除依赖。通过exclutions标签,排除不需要的依赖。
Maven版本锁定
1、Maven的版本锁定只是起到指定依赖版本的作用,并不会导入依赖。
2、在dependencies中的依赖中如果没有声明jar的版本,就到dependenciesManage中去找,找到就使用,没有就报错。
3、在dependencies中声明jar的版本,则使用该版本,不管在dependenciesManage中有没有声明jar的version版本。