Maven

168 阅读3分钟

Maven

Maven 对 jar 包的管理

传统项目 jar 包放在项目中。这样,不同的项目是相同的框架结构,同样的 jar 包会出现在不同的项目中。很浪费磁盘空间。

maven 工程 jar 放在 jar 包仓库中,在项目中只存放 jar 包的坐标引用。使用时,会根据坐标找到对应的 jar 包。这样,如果是多个工程,就可以重用仓库中的 jar 包,从而节省磁盘的空间。


Maven 仓库是项目中依赖的第三方库,这个库所在的位置叫做仓库。

Maven 仓库分为:本地仓库、远程仓库、中央仓库。

本地仓库就是开发者用于存储第三方库的文件夹。在开发者的本地磁盘中。

中央仓库是由 Maven 社区提供的仓库,其中包含了大量常用的第三方库。


当项目需要用到第三方库时,先从本地仓库中查找第三方库,如果没有就去中央仓库中查找。

中央仓库中找到以后,将第三方库下载到本地仓库,然后,再供项目使用。

mvnrepository.com :可以查找第三方库所在的坐标。

有的公司为了开发需要,会在公司内部搭建私人服务器,就是所谓的远程仓库。项目中需要用到第三方库时,会先从本地仓库查找第三方库,如果没有,再去远程仓库查找。如果远程仓库也没有,就去中央仓库查找。

然后,从中央仓库中将第三方库下载到远程仓库,供本公司内部人员使用。再从远程仓库下载到本地仓库,再供项目使用。开发者除了可以下载第三方的库以外,还可以将自己开发的代码安装部署到远程仓库,以供别的开发者使用。

Maven 工程的坐标

Maven 工程中,每个构建都有自己的一个标识(唯一的),它由 groupId,artifactId,version 等信息组成,因此 Maven 就可以对构建进行版本控制、管理。

groupId:公司名称或组织名称;

artifactId:项目名称;

version:当前项目的版本号。

packaging:定义 maven 项目打包的方式,也可以通过定义打包成 jar 或war 等;当不定义 packaging 时,maven 就会使用默认值 jar。如果是父模块,那么应该配置为 pom。

maven 的配置

在 maven 安装目录/conf/settings.xml,是 maven 的主配置文件。

配置本地仓库

在根目录下,加入

F:/repository

maven 的中央仓库在国外,所以下载很慢。为了加载下载速度,可以配置阿里云镜像,以加快下载速度。

在 settings/mirrors 标签中,加入:

aliyunmaven * aliyun maven maven.aliyun.com/repository/…

maven 工程的目录结构

src/main/java :存放核心代码。也就是开发者书写的代码。

src/main/resources :存放配置文件,编译后,配置文件会放在 class 目录中。

src/test/java :存放测试代码。

pom.xml :工程主配置文件。

target :项目由 maven 自动输出位置,编译后所有 class 文件都在这里。

idea 中配置 maven

点击 :file/settings/Build,Execution,Deployment/Build Tools/maven

image-20220622100741890

每次新建项目都需要进行这样的配置,比较繁琐。所以,可以在新建项目时,完成 maven 的配置。

File/new projects settings/settings new projects /Build,Execution,Deployment/Build Tools/maven 对 maven 进行初始化配置。配置方式和上面一样。

maven 生命周期

maven 构建生命周期就是 maven 将一个整体任务划分为一个个的阶段,类似于流程图,按顺序依次执行。在执行后面生命周期时,会执行之前的生命周期。

image-20220622102835994

验证,编译,测试,打包、验证、安装、部署

打包:执行 mvn package ,将项目中的 class 文件进行打包。

安装:执行 mvn install ,将项目打包后的 jar 文件安装到本地仓库中。