01.maven安装
> 解压 maven 到某个目录, 如: D:\apache-maven-3.8.1
> 系统环境变量中,配置 MAVEN_HOME, 并在 paths 中添加上 %MAVEN_HOME%\bin;
> 本地仓库位置的配置 (默认是在 C:\Users\用户名\.m2\repository)
* 打开 D:\apache-maven-3.8.1\conf\settings.xml 配置文件,配置本地仓库地址
** 假定我们将本地仓库位置,就安置在maven的目录下,如:D:\apache-maven-3.8.1\repository
** 修改配置文件,添加上本地仓库的设置信息
> 中央仓库配置信息的位置, 因为中央仓库是在国外,网速较慢,所以一般会为其构建国内的镜像
> 镜像仓库配置 (也是 D:\apache-maven-3.8.1\conf\settings.xml 配置文件)
> Maven的构建指令 (cmd窗口,定位到 pom 文件所在目录,再执行下列指令)
** 通过插件创建工程的范例
02. IDEA中Maven的配置
> 打开配置界面 ctrl+alt+s ; 按下图配置即可;
> 上述配置,只能是配置当前工程,当新建一个工程时,又恢复为默认的了,所以,要配置 maven的话,需要配置 全局参数
File > New Projects Setup > Settings for New Projects...
之后再按上图中的配置,进行修改即可;以后新建任何maven项目都将使用的是自己配置的 maven库及配置文件;不会再使用默认的配置了;
03. 关于Maven中包的依赖
> 包的依赖具有传递性
* 直接依赖:在当前项目中通过依赖配置建立的依赖关系 (直接在自己项目的pom中配置的依赖);
* 间接依赖:被依赖的资源如果依赖其它资源,当前项目间接依赖其它资源;(自己pom中依赖的包所依赖的包,为当前项目的间接依赖;)
> 依赖传递的冲突问题
* 路径优先:当依赖中出现相同的资源时,层级越深,优先级越低,层级越浅,优先级越高;
* 声明优先:当资源在相同层级被依赖时,配置顺序靠前的覆盖配置顺序靠后的;
当自己的工程,同时依赖A,B二个包,且A,B二个包又同时依赖了C的不同版本时,A,B谁配置在前,用谁的;
* 特殊优先:当同级配置了相同资源的不同版本,后配置的覆盖先配置的;
当自己的工程,同时依赖了同一个包的不同版本,则以后面配置的为准;
> 可选依赖
在自己的工程中配置的依赖,如果当其它工程要引用自己的工程做为依赖时,不想让别人看到自己依赖了哪些包,
则可以在自己工程中配置pom中的依赖时,添加一个选项 <optional>,将值设置为 true;
这样的话,当其它工程引用自己的工程时,是不会知道自己的工程依赖了配置<optional> 的包的;
> 排除依赖
在自己的工程中,不想看到自己所依赖的包依赖了哪些其它的包,则可以使用排除依赖
>依赖范围
>> 依赖范围的传递性