写点什么

一文带你初识 Maven,深入浅出的理解 POM 文件

作者:几分醉意.
  • 2022-11-26
    安徽
  • 本文字数:1990 字

    阅读完需:约 7 分钟

💖Maven 简介

1、软件开发中的阶段

需要分析:分析项目具体完成的功能,有什么要求,具体怎么实现。设计阶段:根据分析的结果,设计项目的使用什么技术,解决难点。开发阶段:编码实现功能,编译代码,自我测试。测试阶段:专业的测试人员,测整个项目的功能十分符合设计要求。出一个测试告。项目的打包,发布阶段:给用户安装项目。


2、Maven 能做什么


1)项目的自动构建,帮助开发人员做项目代码的编译,测试,打包,安装,部署等工作。2)管理依赖(管理项目中使用的各种 jar 包)。依赖:项目中需要使用的其他资源,常见的是 jar 比如项目要使用 mysgl 驱动,我们就说项目依赖 mysgl 驱动。


3、没有使用 maven 怎么管理依赖</font><font color="green">管理 jar,需要从网络中单独下载某个 jar,需要选择正确版本,手工处理 jar 文件之间的依赖。a.jar 里面要使用 b.jar 的类。


4、什么是 maven


maven 是 apache 基金会的开源项目,使用 java 语法开发。Maven 这个单词的本意是:专家,内行。读音是['meIv(e)n]或['mevn]。maven 是项目的自动化构建工具,管理项目的依赖。

✨约定目录结构

maven 项目使用的大多人遵循的目录结构,叫做约定目录结构。一个 maven 项目是一个文件夹。比如项目叫做 Hello


✨maven 的使用方式

①maven 可以独立使用:创建项目,编译代码,测试程序,打包,部署等等。② maven 和 idea 一起使用:通过 idea 借助 maven,实现编码,测试,打包等等。

💖POM 文件

POM:Project Object Model 项目对象模型,maven 把项目当做模型处理。操作这个模型就是操作项目。maven 通过 pom.xml 文件实现项目的构建和依赖的管理。


pom 文件:即 Project Object Model 项目对象模型。 Maven 把一个项目的结构和内 容抽象成一个模型,在 xml 文件中进行声明,以方便进行构建和描述,pom.xml 是 Maven 的灵魂。所以,maven 环境搭建好之后,所有的学习和操作都是关于 pom.xml 的。


那么我们来看一下 pom.xml 文件是什么样的


<?xml version="1.0" encoding="UTF-8"?>        <!--project是跟标签,后面是约束文件--><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模型的版本,就是4.0.0--> <modelVersion>4.0.0</modelVersion>
<!--坐标--> <groupId>youfei1_v</groupId> <artifactId>ch01-Maven-j2se</artifactId> <version>1.0</version>
<properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1.8</maven.compiler.target> </properties>
</project>
复制代码

✨坐标的概念

坐标组成是 groupid,artifiactld,version。坐标概念来自数学。


坐标作用:确定资源的,是资源的唯一标识。在 maven 中,每个资源都有坐标。坐标值是唯一的。简称叫 gav。


拿 servlet 依赖举例


    <!--servlet依赖-->      <groupId>javax.servlet</groupId>      <artifactId>javax.servlet-api</artifactId>      <version>3.1.0</version> 
复制代码


groupid:组织名称,代码。公司,团体或者单位的标识。这个值常使用的公司域名的倒写。例如:学校的网站 www.sanlian.com,groupId:com.sanlian 如果项目规模比较大,也可以是域名倒写+大项目名称。例如:www.baidu.com , 无人车:com.baidu.appollo

artifactid:项目名称,如果 groupId 中有项目,此时当前的值就是子项目名。项目名称是唯一的。


version:版本,项目的版本号,使用的数字。三位组成。例如主版本号,次版本号小版本号,例如:5.2.5。注意:版本号中有-SNAPSHOT,表示快照,不是稳定的版本。


项目使用 gav:1.每个 maven 项目,都需要有一个自己的 gav。2.管理依赖,需要使用其他的 jar,也需要使用 gav 作为标识。

✨依赖 dependency

依赖:项目中要使用的其他资源(jar)。需要使用 maven 表示依赖,管理依赖。通过使用 dependency 和 gav 一起完成依赖的使用。


注意:需要在 pom.xml 文件中,使用 dependencies 和 dependency,还有 gav 完成依赖的说明。


使用依赖的格式:这里拿 junit 依赖举例,<groupId>标签中的指的是项目的公司,<artifactId>标签中指的是项目名称,<version>标签中指的是项目的版本。


  <dependencies>    <!--测试-->    <dependency>      <groupId>junit</groupId>      <artifactId>junit</artifactId>      <version>4.11</version>    </dependency>  </dependencies>
复制代码


注意<dependencies>标签要放到<properties>标签的下面

✨打包类型

<packaging>标签:项目打包的类型,有 jar,war,ear,pom 等等,默认是 jar。


注意:<packaging>标签的放置位置是这个项目的坐标下面


例如:


<!--坐标-->  <groupId>youfei1_v</groupId>  <artifactId>ch01-Maven-j2se</artifactId>  <version>1.0</version>  <packaging>jar</packaging>
复制代码


发布于: 刚刚阅读数: 5
用户头像

几分醉意.

关注

还未添加个人签名 2022-10-22 加入

还未添加个人简介

评论

发布
暂无评论
一文带你初识Maven,深入浅出的理解POM文件_Java_几分醉意._InfoQ写作社区