一、Maven简介
Maven是一个项目管理工具,将项目开发和管理过程抽象成一个项目对象模型(POM),用于项目构建、依赖管理、统一开发结构。Maven 曾是 Jakarta 项目的子项目,现为由 Apache 软件基金会主持的独立 Apache 项目。其优点是统一开发项目结构、统一jar包资源管理,避免资源冲突。缺点是有一定的学习成本、项目模块间通过pom互相依赖,新手不易理清相互之间的关系。做Java开发的都需要了解并使用Maven,让我们一起来学习Maven吧。
二、安装
使用Maven前首先需要安装JDK,再访问Maven官网下载压缩包,压缩包地址:Maven – Download Apache Maven 根据操作系统选择合适的压缩包或者通过curl下载。
2.1 Windows
Windows电脑下载压缩包后解压,放到指定目录下,比如D:\Maven\apache-maven-3.6.3。
配置环境变量:右键计算机,选择 属性,点击 高级系统设置,点击环境变量,来设置环境变量。
新建系统变量MAVEN_HOME,变量值:D:\Maven\apache-maven-3.6.3。
编辑系统变量path,添加变量值:;%MAVEN_HOME%\bin
2.1 Mac
Mac电脑下载压缩包后解压,放到/user/local目录下。
想要全局都能用,需要配置环境变量:
vi ~/.bash_profile
添加配置到配置文件中,MAVEN_HOME根据自己实际到路径和目录填写:
export MAVEN_HOME=/usr/local/apache-maven-3.6.3 export PATH=$PATH:$MAVEN_HOME/bin
执行配置生效命令:
source ~/.bash_profile
查看maven是否安装成功和生效,输入mvn -v命令行后,显示下方内容就表示成功了:
mvn -v
三、Maven基础概念
3.2 仓库
Maven仓库是一个地址一个位置,该仓库地址存储资源,包含各种jar包。因此这个库所在的位置叫做仓库。Maven仓库可以分为本地、中央、私服仓库。
3.2.1 仓库分类
3.2.1.1 本地仓库
Maven的本地仓库是在第一次运行Maven命令的时候创建的,我们安装时并不会创建。本地仓库也就是自己电脑上存储资源的仓库,通过连接远程仓库获取资源。当运行maven时,会先从本地仓库获取,如果获取不到,会从中央仓库下载资源到本地仓库,再使用本地仓库里的资源。
3.2.1.2 中央仓库
中央仓库由Maven团队维护,存储所有资源的仓库,一般需要用到的资源都能下载。中央仓库非本机电脑上的仓库,为本地仓库提供资源。由于不可抗拒的因素,从中央仓库下载比较慢,一般会使用国内的镜像源进行下载。
3.2.1.3 私服仓库
中央仓库中的jar包都是开源的,不能存储具有版权、私密的资源,私服仓库的出现解决了这个问题。私服仓库从字面上理解就是私有的,比如公司内部自己创建了一个仓库,可以通过私服仓库管理不开源、私密的资源,仅供公司内部使用。
四、构建项目
maven构建命令以mvn开头
常用构建命令:
mvn compile #编译
mvn clean #清理
mvn test #测试
mvn package #打包
mvn install #安装到本地仓库
4.1 插件创建工程
我们可以通过命令行,使用插件构建工程,在控制台cd到指定目录并执行以下命令,其中DgroupId和DartifactId可以自己定义:
mvn archetype:generate -DgroupId=com.javademo -DartifactId=java-demo -DarchetypeArtifactId=maven-archetype-quickstart -Dvenrsion=0.0.1-snapshot -DinteractiveMode=false
执行以上命令成功后,即可在指定目录中看到创建的工程
4.2 IDEA创建工程
创建一个空工程
创建成功后选择SDK
接下来创建模块
模块创建完成后需要对模块标记目录类型
设置完成后确定,就能看到该模块以及创建成功并且能看到pom文件了。
五、POM
POM是Maven工程的工作单元,是一个xml文件。pom.xml文件包含了项目的基本信息,描述了项目如何构建、如何声明项目依赖。Maven的pom标签非常多,我们只需要记住常用的标签即可。常用的标签和具体含义如下所示:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <!-- pom模型版本 --> <modelVersion>4.0.0</modelVersion> <!-- 打包方式:web工程打包为war、Java工程打包为jar、ear、pom --> <packaging>jar</packaging> <!-- 组织id,一般以公司倒序命名,如com.alibaba.project --> <groupId>com.pzc</groupId> <!-- 项目id唯一,一个groupId下面可能有多个项目,通过artifactId来区分 --> <artifactId>user</artifactId> <!-- 版本号:完整版:release、开发版:snapshot --> <version>1.0-SNAPSHOT</version> <!-- 设置所有的依赖 --> <dependencies> <!-- 具体的依赖 --> <dependency> <groupId>com.abiquo</groupId> <artifactId>commons-redis</artifactId> <version>2.2.0</version> </dependency> </dependencies> </project>
本篇入门文章就到这里了,接下来我们将一起学习依赖管理等内容。