这是我参与11月更文挑战的第13天,活动详情查看:2021最后一次更文挑战
Maven
简介
Maven
是Apaache
组织中的开源项目,主要服务于基于Java
平台的项目管理,依赖管理和信息管理。
为什么需要学习Maven
- 在
Javaweb
开发中,需要使用大量的jar
包,我们需要手动导入 - 需要一个自动帮我们导入和配置这个
jar
包
Maven
因此诞生了!
Maven
特性
- 依赖管理系统
1 | xml复制代码 <dependency> |
+ 包类型:`jar`包或`war`包
+ `groupId`:用于表示实际项目-公司名称
+ `artifactId`:用于表示实际项目中的一个`Maven`模块-项目名
+ `version`:用于表示该项目的版本
- 多模块构建
我们可以将一个项目分解为多个模块。
- 一致的目录结构
maven
的核心思想就是约定大于配置,并且制定了一套项目目录结构作为标准的Java
项目结构。
- 一致的构建模型和插件机制
Maven
项目架构管理工具
依赖JDK
建议JDK
版本在1.8
以上
Maven
安装
下载地址:maven.apache.org/download.cg…
下载完成后解压即可,解压目录不要有空格和中文。
目录结构说明
bin
:该目录包含了mvn
运行的脚本,这些脚本用来配置java
命令,准备好classpath
和相关的Java
系统属性,然后执行Java
命令。boot
:该目录下文件是一个类加载器,相对于默认的java
类加载器,它提供了更丰富的语法以方便配置,maven
用该框架,加载自己的类库conf
:该目录下包含了一个非常重要的文件settings.xml
,Maven
核心配置文件lib
:该目录包含了所有Maven
运行时需要的Java
类库,``Maven本身是分模块开发的,此外这里还包含一些
Maven`用到的第三方依赖
配置环境变量
M2_HOME
:maven
目录下的bin
目录MAVEN_HOME
:maven
目录Path
:在系统的path
中配置%MAVEN_HOME%\bin
验证
验证发现有问题:
- 重启电脑
- 假如安装过多版本,查看是否有设置过的环境变量
阿里云镜像
一般访问外网获取依赖速度较慢,所以我们使用国内的镜像仓库。
- 镜像:
mirrors
- 国内建议使用阿里云的镜像
打开 maven
的配置文件( windows
机器一般在 maven
安装目录的 conf/settings.xml
),在<mirrors></mirrors>
标签中添加 mirror
子节点:
1 | xml复制代码<mirror> |
配置本地仓库
仓库一般分为两种:本地和远程仓库。
建立本地仓库:
打开 maven
的配置文件( windows
机器一般在 maven
安装目录的 conf/settings.xml
),在<localRepository></localRepository>
修改,默认配置地址是${user.home}/.m2/repository
,我们将默认地址更换为${MAVEN_HOME}/repo
:
1 | xml复制代码 <localRepository>${MAVEN_HOME}/repo</localRepository> |
在Maven
安装目录内创建repo
文件夹
在IDEA
中使用Maven
IDEA
中有默认的Maven
配置,我们需要将Maven
替换成我们自己的
更换仓库后,IDEA
会帮我们自动下载依赖。
Maven
项目目录结构
目录 | 说明 |
---|---|
${basedir} |
存放pom.xml 和所有子目录 |
${basedir}/src/main/java |
项目的java 源代码 |
${basedir}/src/main/resources |
项目的资源,比如说配置文件 |
${basedir}/src/test/java |
项目的测试类 |
${basedir}/src/test/resources |
测试使用的资源 |
本文转载自: 掘金