Maven

2 篇文章 0 订阅
1 篇文章 0 订阅

目录

第一章 Maven简介

1.1 软件开发中的阶段

1.2 Maven能做什么

1.3 Maven-项目构建工具

1.4 Maven 的核心概念

1.5 Maven生命周期:

通过这么几个要素来定位一个项目(jar)包,坐标

依赖的范围:

依赖的传递:

packaging标签:

第二章 Maven的核心概念详解

2.1 maven约定的目录结构

2.2 仓库:

2.4 坐标

2.5 依赖


第一章 Maven简介

1.1 软件开发中的阶段

需求分析:分析项目具体完成的功能,有什么要求,具体怎么实现。

设计阶段:根据分析的结果,设计项目使用什么技术,解决难点。

开发阶段:编码实现功能,编译代码,自我测试。

测试阶段:专业的测试人员,测整个项目的功能是否符合设计要求。出一个测试报告。

项目的打包、发布阶段:给用户安装项目。

1.2 Maven能做什么

(1)项目的自动构建,帮助开发人员做项目代码的编译、测试、打包、安装和部署等工作。

(2)管理依赖:

  依赖:x项目中需要使用的其他资源,常见的是jar包,比如项目要使用mysql驱动,我们就是项目依赖mysql驱动。

1.3 Maven-项目构建工具

(apache基金会)

1.打包

2.管理依赖***,联网下载。只需要一个配置文件即可。

3.项目结构更清晰

main:源码目录

        java:.java文件

        resources:配置文件

test:测试目录

        java:测试的.java

        resources:测试用到的配置文件

pom.xml:Maven工程的配置文件,在其中配置jar包的相关

target:目标,目的地

1.4 Maven 的核心概念

①POM : 一个文件 名称是pom.xml , pom翻译过来叫做项目对象模型。maven把一个项目当做一个模型使用,控制maven构建项目的过程,管理jar依赖。

②约定的目录结构 : maven项目的目录和文件的位置都是规定的。

③坐标 : 是一个唯一的字符串,用来表示资源的。

④依赖管理 : 管理你的项目可以使用jar文件

⑤仓库管理 :你的资源存放的位置

⑥生命周期 (了解) : maven工具构建项目的过程,就是生命周期。

⑦插件和目标(了解):执行maven构建的时候用的工具是插件

⑧继承

⑨聚合

1.5 Maven生命周期:

Maven有三个内置的声明周期:

默认(default): 进行项目的编译和打包

        1.验证(validate):验证当前的项目是否正确

        2.编译(compile):编译项目的源代码

        3.测试(test):使用单元测试测试编译的源代码

        4.打包(package):利用编译的源代码,打包成相应的格式的包。jar/war

        5.验证(verify):对测试结果进行检查

        6.安装(install):把我们自己写的一些项目,安装到本地仓库,其他项目可以进行引用。

        7.部署(deploy):私服。jar从maven中央仓库下载下来。

清理(clean):删除target目录

站点(site): 生成项目报告,站点,发布站点

通过这么几个要素来定位一个项目(jar)包,坐标

GroupId:团体,组织id。包名

ArtifactId:项目名。mysql-connector-java.jar

Version:版本号。

        SNAPSHOT:快照版

        LATEST:发布版本

        RELEASE:稳定版本

依赖的范围:

scope标签就代表依赖的范围:

test:测试。只有在test环境下才生效。不参与打包和编译。

compile:编译。编译、测试、运行环境下都ok。参与打包。

runtime:运行时。参与打包。

provided:编译,运行,不参与打包。

​
<dependency>
     <groupId>junit</groupId>
     <artifactId>junit</artifactId>
     <version>4.13.2</version>
     <scope>test</scope>
</dependency>

​

依赖的传递:

我们工程A.jar-------->依赖于mysql.jar

B.jar---------->依赖于A.jar,同样会引入mysql.jar

传递的原则

1.最短路径优先

2.路径相同 先声明原则

3.依赖的排除

packaging标签:

jar:默认的格式

war:JavaWEB工程

pom:复合工程

第二章 Maven的核心概念详解

2.1 maven约定的目录结构

java

每一个maven项目在磁盘中都是一个文件夹(项目-Hello)

Hello/

    ---/src

    ------/main           #放你主程序java代码和配置文件

    ----------/java       #你的程序包和包中的java文件

    ----------/resources  #你的java程序中要使用的配置文件

    ------/test  #放测试程序代码和文件的(可以没有)

    ----------/java       #测试程序包和包中的java文件

    ----------/resources  #测试java程序中要使用的配置文件

    ---/pom.xml  #maven的核心文件(maven项目必须有)

2.2 仓库:

1)仓库是什么: 仓库是存放东西的, maven的仓库存放的是:

1. maven工具自己的jar包

2. 第三方的其他jar,比如项目中要使用的mysql驱动

3. 自己写的程序,可以打包为jar,存放到仓库

2)仓库的分类

​   本地仓库, 就是你的个人计算机上的文件夹,存放各种jar,

​    默认路径:是你登录操作系统的账号的目录中/.m2/repository

 如: C:\Users\admin\.m2\repository

​   远程仓库, 在互联网上的,使用网络才能使用的仓库

​       ①:中央仓库,最权威的, 所有的开发人员都共享使用的一个集中的仓库,

​           https://repo.maven.apache.org :中央仓库的地址

​       ②:中央仓库的镜像:就是中央仓库的备份, 在各大洲,重要的城市都是镜像。

​       ③:私服,在公司内部,在局域网中使用的,不是对外使用的。

3)仓库的使用,maven仓库的使用不需要人为参与。

    开发人员需要使用mysql驱动—>maven首先查本地仓库—>私服—>镜像—>中央仓库

2.3 pom:项目对象模型,是一个pom.xml文件

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

xml

<!-- 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 https://maven.apache.org/xsd/maven-4.0.0.xsd">

   

  <!-- pom模型的版本: 就是4.0.0 -->

  <modelVersion>4.0.0</modelVersion>

  <!--坐标-->

  <groupId>com.iflytek</groupId>

  <artifactId>mybatisTest01</artifactId>

  <version>0.0.1-SNAPSHOT</version>

  <!--项目打包类型-->

  <packaging>war</packaging>

   

  <!--依赖-->

  <dependencies>

    <dependency>

        <groupId>mysql</groupId>

        <artifactId>mysql-connector-java</artifactId>

        <version>8.0.27</version>

    </dependency>

  </dependencies>

</project>

```

2.4 坐标

坐标组成是groupId,artifactId,version。

坐标作用:确定资源的,是资源的唯一标识。在maven中,每个资源都是坐标。

   <!--groupId: 组织名称,代码,团体或者单位的表示,这个值通常使用公司域名的倒写com.iflytek-->

   <!--artifactId: 项目名称-->

   <!--version: 项目的版本号-->

项目使用坐标:

1、 每个maven项目,都需要有一个自己的坐标

2、管理依赖,需要使用其他的jar,也需要使用坐标作为表示;

3、查看外部依赖的的坐标 https://mvnrepository.com/

2.5 依赖

依赖: 项目中使用的其他资源(jar)

需要使用maven表示依赖,管理依赖,通过使用dependency和坐标一起完成依赖的使用

需要在pom.xml文件中,使用dependencies 和dependency,还有坐标完成依赖的说明

如:

```xml

  <!--依赖-->

  <dependencies>

    <dependency>

        <groupId>mysql</groupId>

        <artifactId>mysql-connector-java</artifactId>

        <version>8.0.27</version>

    </dependency>

  </dependencies>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值