零基础快速理解Maven

简介: 零基础快速理解Maven

Maven概述


为什么要学习Maven?


1.Maven 作为依赖管理工具

在很多大型的框架中会用到到很多的jar包,maven可以帮助我们去管理这些jar包。包括引入,自动下载.

2.Maven 作为构建管理工具


什么是 Maven?


Maven 是 Apache 软件基金会组织维护的一款专门为 Java 项目提供构建和依赖管理支持的工具

1、构建


Java 项目开发过程中,构建指的是使用Java 源代码,基于 HTML 的 Thymeleaf 文件,图片,配置文件的过程。

构建过程包含的主要的环节:


清理:

删除上一次构建的结果,为下一次构建做好准备

编译:

Java 源程序编译成 *.class 字节码文件

测试:

运行提前准备好的测试程序

报告:

针对刚才测试的结果生成一个全面的信息

打包:

Java工程:jar包Web工程:war包

安装:

把一个 Maven 工程经过打包操作生成的 jar 包或 war 包存入 Maven 仓库

部署

部署 jar 包:把一个 jar 包部署到 Nexus 私服服务器上

部署 war 包:借助相关 Maven 插件(例如 cargo),将 war 包部署到 Tomcat 服务器上


2.依赖


如果 A 工程里面用到了 B 工程的类、接口、配置文件等等这样的资源,那么我们就可以说 A 依赖 B。

依赖管理中要解决的具体问题:


jar 包的下载:使用 Maven 之后,jar 包会从规范的远程仓库下载到本地

jar 包之间的依赖:通过依赖的传递性自动完成

jar 包之间的冲突:通过对依赖的配置进行调整,让某些jar包不会被导入


Maven 的工作机制

484e7c9994724f878f427ead82867709.png



maven下载,仓库配置,环境配置


为啥要配置本地仓库,远程仓库?


本地仓库:

本地仓库默认值:用户家目录/.m2/repository。由于本地仓库的默认位置是在用户的家目录下,而家目录往往是在 C 盘,也就是系统盘。将来 Maven 仓库中 jar 包越来越多,仓库体积越来越大,可能会拖慢 C 盘运行速度,影响系统性能。所以建议将 Maven 的本地仓库放在其他盘符下。

远程仓库:

配置阿里云提供的镜像仓库

Maven 下载 jar 包默认访问境外的中央仓库,而国外网站速度很慢。改成阿里云提供的镜像仓库,访问国内网站,可以让 Maven 下载 jar 包的时候速度更快。

Maven 是一个用 Java 语言开发的程序,它必须基于 JDK 来运行,需要通过 JAVA_HOME 来找到 JDK 的安装位置。

具体过程见:maven下载,仓库配置,环境配置


使用 Maven


核心概念:坐标


使用maven之前先理解maven中的核心概念

坐标

使用坐标可以在Maven的仓库中唯一的定位到一个jar包。

涉及到三个向量:

groupId:公司或组织域名的倒序,通常也会加上项目名称

artifactId:模块的名称,将来作为 Maven 工程的工程名

version:模块的版本号,根据自己的需要设定

例如:

d2ad706b30b5423197f9169afe1bc443.png


Maven 的构建命令


清理操作


mvn clean

效果:删除 target 目录


编译操作


主程序编译:mvn compile

测试程序编译:mvn test-compile

主体程序编译结果存放的目录:target/classes

测试程序编译结果存放的目录:target/test-classes


测试操作


mvn test

测试的报告存放的目录:target/surefire-reports


打包操作


mvn package

打包的结果——jar 包,存放的目录:target


安装操作


mvn install

安装的效果是将本地构建过程中生成的 jar 包存入 Maven 本地仓库。这个 jar 包在 Maven 仓库中的路径是根据它的坐标生成的。

另外,安装操作还会将 pom.xml 文件转换为 XXX.pom 文件一起存入本地仓库。所以我们在 Maven 的本地仓库中想看一个 jar 包原始的 pom.xml 文件时,查看对应 XXX.pom 文件即可,它们是名字发生了改变,本质上是同一个文件。

相关文章
|
数据可视化 Java 项目管理
|
数据安全/隐私保护
Maven-2
Maven-2
87 0
|
2月前
|
Java API 项目管理
Maven的使用
Maven的使用
39 2
|
6月前
|
Java 应用服务中间件 项目管理
Maven详解
Apache Maven是一个强大的Java项目管理和构建工具,它简化了项目结构、依赖管理、构建过程。Maven遵循约定优于配置原则,提供标准项目模板,自动处理依赖下载和版本控制。通过POM(Project Object Model)文件,开发人员声明项目属性、依赖、构建配置等。Maven支持多模块管理、文档生成、版本管理和构建报告。使用Maven,可以更高效地管理复杂项目,避免手动管理依赖带来的问题。此外,Maven的配置文件(settings.xml)允许设置本地仓库、中央仓库镜像和JDK版本等。
71 1
Maven详解
|
Java 数据库连接 Maven
Maven介绍
Maven介绍
96 0
|
7月前
|
Java Maven
maven 使用小技巧
maven 使用小技巧
42 0
|
Java Maven
|
Java 测试技术 数据库连接
|
存储 Java 程序员
Maven详解
Maven详解
334 0
|
Java Maven 容器
关于Maven,你真的了解它吗?(下)
关于Maven,你真的了解它吗?(下)