1maven简介
传统项目存在着jar包不统一,jar包不兼容;工程升级维护过程操作繁琐等问题
现如今项目不再是一个项目一个工程,而是每一个模块一个工程,而多个模块整合在一起就需要maven这样的构建工具
maven简介:maven的本质是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM)
POM(Project Object Modle):项目对象模型
maven的底层是用java开发的
maven的作用:
项目构建:提供标准的、跨平台的自动化项目构建方式
依赖管理:方便快捷的管理项目依赖的资源(jar包),避免资源间
统一开发结构:提供标准的、统一的项目结构。Eclipse和Idea工程结构不一样,用maven统一结构可以跨开发工具
2下载与安装
下载网址:Maven – Download Apache Maven
maven是绿色版解压即可安装
目录结构为
依赖Java,需配置JAVA_HOME
设置maven的运行环境,需配置MAVEN_HOME
检验是否安装成功mvn
3maven基础概念
仓库:用于存储资源,各种jar包
仓库分类
- 本地仓库:自己电脑上存储资源的仓库,链接远程仓库获取资源
- 远程仓库:非本机电脑存储的仓库,为本地仓库提供资源
私服:部门/公司范围内存储的资源仓库,从中央仓库中获取资源
中央仓库:maven团队维护,存储所有的资源仓库
中央仓库镜像:为了分担中央仓库的流量,提升用户访问速度
私服的作用:
- 保存具有版权的资源,含购买或自主研发的jar
中央仓库中的jar都是开源的,不能存储具有版权的资源, - 一定范围内共享资源,仅对内部开放,不对外共享
坐标:maven中的坐标用于描述仓库中资源的位置
maven坐标主要组成
groupId:定义当前maven项目隶属组织名称(通常是域名反写,如org.mybatis)
artfactId:定义当前maven项目名称(通常是模块名称:例如CRM、SMS)
version:定义当前项目版本号
packaging:定义该项目的打包方式
maven坐标的作用
使用唯一标识,唯一性定位资源位置,通过该标识可以将资源的识别与下载工作交由机器完成
查找仓库坐标:https://mvnrepository.com/
搜索自己要找的坐标,copy到项目pom文件中,本地没有该资源会下载到本地
本地仓库配置
setting.xml文件中搜索localRepository
远程仓库配置
因默认的链接远程仓库是国外的,国外的网站下载都特慢,所以需要配置镜像
setting.xml文件中搜索mirrors添加配置
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
配置后为:
jdk版本根据自己需求配置
保持项目jdk版本一致,直接copy配置文件给同事
<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>
配置后为