1,概述
Maven 是Apache开源组织的顶级项目之一,是一个项目管理工具。它基于项目对象模型(POM)的概念,主要对项目的构建,依赖,测试,打包,部署,发布,生成站点文档等进行统一管理。
2,下载与安装
从Maven官网下载Maven的最新版本。下载地址:http://maven.apache.org/download.cgi ,Binary是编译后的二进制压缩包,Source是源代码压缩包,
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-b6S5G9Sp-1617710859495)(assets/QQ截图20210406150747.png)]
目录说明:
目录 | 说明 |
---|---|
bin | 存放Maven的运行脚本 |
boot | 该目录只有一个文件 plexus-classworlds-2.5.1.jar 。他是一个类加载器的框架 |
conf | 存放Maven的配置文件,最主要的是settings.xml 文件 |
lib | 包含Maven运行时需要的Java类库以及用到的第三方依赖 |
检查:javac -version
有输出
3,配置环境变量
配置环境变量 M2_HOME = maven的根目录
在path中追加 %M2_HOME%\bin
配置完成后可在命令行或者终端使用mvn命令查看Maven版本信息:`mvn --version
4,settings.xml文件
settings.xml配置文件用于设置maven参数的配置文件,例如本地仓库配置,镜像配置,环境配置等等。这个配置文件可以放在两个地方:
1. Maven安装目录
${M2_HOME}/conf/settings.xml
当我们解压Maven之后,在其中的conf子录中就可以找到,这里的 settings.xml
文件是Maven的全局的配置文件,对操作系统的所有用户都生效。
-
系统用户目录
${user.home}/.m2/settings.xml
默认是没有配置文件的,可以吧系统级别的
settings.xml
文件拷贝到用户目录下的.m2
文件夹下
配置项有2个:
localRepository
<localRepository>E:/repo</localRepository>
- mirror:mirrorOf与url是不能错的
<mirrors>
<mirror>
<id>nexus-aliyun</id>
<mirrorOf>central</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>
</mirrors>
5,本地仓库
项目或者命令所要用到的依赖、插件都是需要下载的,默认是先从本地仓库查找,找不到就到远程的中央仓库去查找。
由于远程仓库在国外,国内有相关的镜像(mirror)
Maven 缺省的本地仓库路径为 ${user.home}/m2.repository
,既在系统用户的目录下。
先在任意地方新建文件夹(名称任意),然后进入Maven的conf目录,打开settings.xml配置文件,找到 <localRepository>/path/to/local/repo</localRepository>
。复制<localRepository>/path/to/local/repo</localRepository>
一行粘贴到注释的后面,并修改为自定义的仓库的绝对路径。
注意:不同的操作系统配置的路径是不一样的
macOS / Linux 系统:
<localRepository>/Users/wangl/repository</localRepository>
Windows 系统:
<localRepository>D:/maven/repository</localRepository>
6,创建Maven项目
6.1 使用mvn命令创建Maven项目
mvn archetype:gencrate
选择需要创建的项目类型,这里选择7,表示快速创建一个简单的Maven项目。
接下来填写Maven项目的组织名称(groupId),项目名称(artifactId),版本号(version),包名(package)等信息。最后输入y进行确认,这样就创建了一个Maven项目。
6.2 使用Intellij IDEA构建
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uVZ4zmzl-1617710859500)(assets/QQ截图20210406093901-1617690982964.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HoOxEkkH-1617710859506)(assets/QQ截图20210406094003.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1ln2kJ8o-1617710859510)(assets/QQ截图20210406094052.png)]
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xKJCxSyr-1617710859515)(assets/QQ截图20210406094124.png)]
6.3 Maven项目结构
- 项目名(根目录)
- pom.xml
- src
- main
- java
- resources
- test
- java
- resources
- main
进入到项目的根目录(有pom.xml文件)下面,执行相关的命令
学了以下个命令
- clean:清理maven结果,一般是删除target目录
- compile:编译源代码
- package:生成jar或者war,由pom文件中的packaging设置决定
- install: 把当前项目安装到仓库中
命令的写法有2种:
- 直接写命令:
mvn package
删除target目录 - compile:编译源代码
- package:生成jar或者war,由pom文件中的packaging设置决定
- install: 把当前项目安装到仓库中
命令的写法有2种:
- 直接写命令:
mvn package
- 组合使用命令:
mvn clean package