写在前面:为一位朋友写的一个博客,有需要都可以查看!
一、maven是什么?
一句话:管理依赖工具,统一项目结构便于开发,把项目开发和管理的过程抽象成对象模型来管理(pom模型)
基本项目结构概念图:
maven流程:本质还是来自中央仓库(国外)我们访问起来较困难,所以有必要配置一个镜像或者你使用魔法!
二、maven的下载安装
maven下载地址(点击跳转)
如果你的是Linux系统(或虚拟机中的Linux)使用targz文件,Windows使用zip文件
下载之后安装直接解压在你想要放的位置:
如果你已经配置了Java_home那就不用再配置这个环境了但需要配置MAVEN_HOME:
这个是新建一个系统环境变量:
path环境变量:
建议上移至最上方不移动一般也可以!
检验是否配置完成:
出现这个界面就说明成功了!
三、maven仓库配置基础
先来一张图(了解三种仓库):
素材来源于网络
资源坐标:
maven坐标组成:
groupId:定义当前Maven项目隶属于组织名称
artifactId:定义当前项目名称
version:定义当前版本(不必须,因为后期如果使用springboot框架继承的父项目会带有版本防止依赖冲突)
packaging:定义项目打包方式(不属于maven坐标组成但是很重要)
依赖官网(所有的坐标都是以官方为准需要时直接查,尽量不要自己写,当然除了一些常用的坐标非常熟悉了就不用查了):maven依赖查看地址点击跳转这个网址可能会陪伴Java工程师一辈子(一定要记住哟)!
这就是坐标直接复制用!
仓库配置(便于管理和引入依赖):
先建一个目录:(任意地方建议是D盘):
接下来改配置:
进入到conf->settings.xml:
把最后一行改成你自己的新建的仓库地址即可
镜像配置(阿里云镜像):
引入alimaven坐标!
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
示意:
到这里就已经完成了maven的搭建了!
四、IDEA创建maven工程
先以最原始的方法创建:
创建一个空项目(建议直接创建maven项目不要创建空项目):
直接创建:
完成maven配置引用:
在设置中找到你的构建工具需要配置的项是:Maven主路径,用户设置文件,本地仓库改成你自己的路径!
直接创建maven工程:
创建maven工程(这里可以选择模板比如说webapp做web开发等等):
创建之后:
在pom就可以引入你想要的依赖了(记得刷新):
刷新按钮:
这里是插件:
这里就是依赖(用到就引入依赖坐标):
五、依赖管理:
依赖传递:
这两个依赖都是另外的模块:
这样另外两个模块的依赖在引用方也能使用!
依赖冲突:
路径优先原则:当依赖中有相同的资源时层级越深优先级越低
声明优先原则:当资源在相同的层级时,配置顺序靠前的覆盖配置顺序靠后的
特殊优先原则:当同级配置了相同资源的不同版本,后面配置的覆盖前面的
可选依赖:
对外隐藏不能被外界使用(私房钱)被动断开!
排除依赖:
你传过来了依赖,我不要,就可以排除掉(不写版本)主动断开!
依赖属性(scop):
配置scop有这几个范围:
比如:
这就是在编译时起作用!
依赖范围的传递性(记住这张表):
解释:
直接依赖假设为项目一,间接依赖假设为项目二:
当项目一配置为compile项目二配置为compile结果在项目二就是compile;
在项目一中配置compile项目二配置为runtime结果就是项目二为runtime;
ok!先简单入个门,一定要亲自操作!后面还有很多种情况:分模块开发,版本管理,资源配置,配置私服等等!很多,任重而道远,此处为初学者使用!有什么问题都可以在评论区留言!