maven基础一简介、仓库、配置
一、什么是maven
Maven是Apache下的一个纯Java开发的开源项目,它主要作为项目构建和管理的工具。Maven提供了一套完整的项目构建生命周期,包括编译、测试、打包、发布等各个阶段,能够自动化地执行这些任务,此外,Maven还提供了依赖管理系统,能够自动下载和管理项目所依赖的库和框架,大大简化了项目依赖管理的工作。通过Maven仓库,开发人员可以轻松地查找、获取和使用各种开源组件和库,提高开发效率。
二、maven的作用
-
项目管理和构建:Maven能够自动化执行项目的构建过程,包括编译、测试、打包和部署等阶段。它提供了一个清晰且标准化的项目结构,使所有项目都具有相同的目录结构,有助于开发人员更好地理解和维护代码。目录结构如下:
-
依赖管理:Maven通过pom.xml文件来定义项目的依赖资源(jar包),能够自动下载并导入这些依赖,大大减少了手动管理依赖的复杂性,降低了出错的可能性。
-
多模块项目管理:Maven支持多模块项目的管理和构建,开发人员可以将一个大型项目划分为多个模块,每个模块可以独立进行构建和测试,提高了开发效率。
-
构建配置的统一管理:Maven通过统一的管理方式,确保项目的构建配置在不同环境中保持一致,提高了项目的可移植性。
三、maven安装和配置
3.1、下载maven
在maven的官网:https://maven.org.cn/download.html 根据自己的需求下maven的版本。
3.2、解压
复制到任意文件夹解压缩(最好不要放在C盘),我这里新建了一个devTools文件夹(注意我的文件夹目录)
3.3、配置环境变量
此电脑–>属性–>高级系统设置–>环境变量–>系统变量–>新建 “MVN_HOME”,填写maven的解压路径。
编辑 “path”路径。
3.4、验证配置
打开命令提示符(win+R),输入命令: mvn -v 显示如下则表示配置成功。
四、maven仓库
4.1、仓库分类
本地仓库(本地存放jar包的文件夹);
私服(一般是局域网内的maven仓库,一个公司一个团队的仓库,很多是公司自有不开源的jar包);
中央仓库(maven官方仓库,想要的jar包都有,类似于应用商店);
获取jar包过程是,先在本地仓库找,没有就到私服找,私服没有才从中央仓库获取。从中央仓库获取的jar包会存到本地仓库,方便下次使用。
4.2、本地仓库配置
默认仓库是C:\用户\当前用户名.m2,可在maven配置文件中进行修改。修改apache-maven-3.8.5/conf/settings.xml
把settings标签下的localRepository标签内的属性改一下,改成下面:
<!-- localRepository
| The path to the local repository maven will use to store artifacts.
|
| Default: ${user.home}/.m2/repository
<localRepository>/path/to/local/repo</localRepository>
-->
<localRepository>D:\maven\rep</localRepository>
4.3、中央仓库配置
由于默认的中央仓库站点在国外,下载慢,所以需要配置国内镜像,加速访问中央仓库。
配置方法:修改apache-maven-3.8.5/conf/settings.xml**,**在mirrors标签里面填加下面内容
<!--配置具体的仓库的下载镜像-----阿里-->
<mirror>
<!--此镜像的唯一标识符,用来区分不同的mirror元素-->
<id>alimaven</id>
<!--对哪种仓库进行镜像,简单说就是替代哪个仓库-->
<mirrorOf>central</mirrorOf>
<!--镜像名称-->
<name>aliyun maven</name>
<!--镜像URL-->
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
五、在IDEA中使用maven
5.1、idea配置maven
在idea设置中,找到构建工具maven,然后配置自己的maven路径。配置之后,idea就能使用maven管理依赖啦。
5.2、使用maven构建javaWeb项目
选择文件–>新建项目---->Java Enterprise—>输入项目基本信息
点击完成,创建好项目之后,目录结构如下
六、maven坐标
6.1、什么是坐标
描述仓库中资源的位置,maven会根据坐标找到并下载(如果不在本地)对应的资源。
6.2、坐标的组成
一个正确的坐标至少由 groupid、artifactid、version 这三个部分组成。添加正确的坐标之后就能在pom.xml中进行依赖管理啦。
<!--
groupid:所有者团队。一般是域名反写(包名),如:com.kdf
artifactid:项目名
version:当前项目版本号
-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<!--范围-->
<scope>test</scope>
</dependency>
6.3、依赖管理
打开pom.xml文件,在 标签中输入坐标,管理项目资源。
<dependencies>
<!--项目依赖-->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>4.0.1</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
</dependencies>