Maven基础概念与简介

一、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>

本篇入门文章就到这里了,接下来我们将一起学习依赖管理等内容。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值