maven基础知识

1. maven是什么?

1.1 maven的简介

Maven是一款用于管理和构建Java项目的工具,它基于项目对象模型(Project Object Model 简称:POM),通过一小段描述信息来管理项目的构建、报告和文档。

官网:Maven – Welcome to Apache Maven

1.2 maven的作用

1.依赖管理
2.统一项目结构
3.项目构建
1.依赖管理:

方便快捷的管理项目依赖的资源(jar包),避免冲突问题。

当使用maven进行项目依赖(jar包)管理,我们只需在maven项目的pom.xml文件中,添加一段代码就可以实现配置。

<dependencies> 
    <dependency> 
        <groupId>ch.qos.logback</groupId> 
        <artifactId>logback-classic</artifactId>
        <version>1.2.10</version> 
    </dependency> 
</dependencies>

Maven坐标(下面会讲解,这里先提示)

groupId , artifactId ,version 这些都是maven坐标的主要组成

2.统一项目结构:

目录说明:

src/main/java:java:源代码目录

src/main/resources:配置文件信息

src/test/java:测试代码

src/test/resources:测试配置文件信息

3.项目构建:

maven提供了标准的、跨平台的自动化项目构建方式

clean:清理

compile:编译

test:测试

package:打包

deploy: 部署

所以:Maven是一款管理和构建Java项目的工具

2.1 Maven模型

  • 项目对象模型(Project Object Model)

  • 依赖管理模型(Dependence)

  • 构建生命周期/阶段(Build lifecycle & phase)

2.2 Maven仓库

仓库:用于存储资源,管理各种jar包

仓库的本质就是一个目录(文件夹),这个目录被用来存储开发中所有依赖(就是jar包)和插件

Maven仓库分为:

  • 本地仓库:自己计算机上的一个目录(用来存储jar包)

  • 中央仓库:由Maven团队维护的全球唯一的。

  • 仓库地址:Central Repository:

  • 远程仓库(私服):一般由公司团队搭建的私有仓库

当项目中使用坐标引入对应依赖jar包后,首先会查找本地仓库中是否有对应的jar包

  • 如果有,则在项目直接引用

  • 如果没有,则去中央仓库中下载对应的jar包到本地仓库

如果还可以搭建远程仓库(私服),将来jar包的查找顺序则变为: 本地仓库 --> 远程仓库--> 中央仓库

2.Maven坐标详解

什么是坐标?

  • Maven中的坐标是==资源的唯一标识== , 通过该坐标可以唯一定位资源位置

  • 使用坐标来定义项目或引入项目中需要的依赖

Maven坐标主要组成

  • groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.javaweb)

  • artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)

  • version:定义当前项目版本号

2.1 pom配置详解

POM (Project Object Model) :指的是项目对象模型,用来描述当前的maven项目。

pom.xml文件:

<?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>

<!-- 当前项目坐标 -->
<groupId>com.javaweb</groupId>
<artifactId>maven_project1</artifactId>
<version>1.0-SNAPSHOT</version>

<!-- 打包方式 -->
<packaging>jar</packaging>

</project>

pom文件详解:

  • <project> :pom文件的根标签,表示当前maven项目

  • <modelVersion> :声明项目描述遵循哪一个POM模型版本

    • 虽然模型本身的版本很少改变,但它仍然是必不可少的。目前POM模型版本是4.0.0

  • 坐标 :<groupId>、<artifactId>、<version>

    • 定位项目在本地仓库中的位置,由以上三个标签组成一个坐标

  • <packaging> :maven项目的打包方式,通常设置为jar或war(默认值:jar)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

执至心之所念

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值