Bootstrap

(七)JavaWeb后端开发1——Maven

目录

1.Maven概述

2.Maven依赖管理

2.1依赖配置

2.2依赖传递

2.3依赖范围

2.4生命周期


1.Maven概述

maven是一款管理和构建java项目的工具

Maven的作用:

  • 依赖管理:方便快捷的管理项目依赖的资源(jar包),避免版本冲突问题
  • 统一项目结构:提供标准、统一的项目结构
  • 项目构建:标准跨平台(Linux、Windows、MacOS)的自动化项目构建方式

1.依赖管理:比如如果想使用某个jar包,只需要在Maven项目下的pom.xml文件里面加上依赖就行了,Maven会自动联网下载依赖,如下所示:

<dependencies>
    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>  //依赖名
        <version>1.2.11<version>  //版本号
    </dependency>
</dependencies>

2.统一项目结构:由于eclipse、IDEA这些IDE都有着自己的项目结构,不好管理,使用Maven后就有统一的项目结构

3.项目构建:Maven有compile(编译)和package(打包)指令,然后生成之后放在target目录下(存放了编译之后的字节码class文件)

如下图所示,jar包就是项目打包后的文件,然后可以在不同的系统上运作

2.Maven依赖管理

2.1依赖配置

groupId组织名,artifactId模块名

 <dependencies>
     <dependency>
         <groupId>ch.qos.logback</groupId>
         <artifactId>logback-classic</artifactId>
         <version>1.5.6</version>
//上面三行叫做依赖的坐标
     </dependency>
</dependencies>

2.2依赖传递

比如此处只添加了logback一个依赖,但是Maven会自动添加了其他的依赖

2.3依赖范围

大部分情况下scope的取值都是compile,也就是默认值,所以把scope那行删掉也问题不大

2.4生命周期

Maven的生命周期就是为了对所有的maven项目构建过程进行抽象和统一

Maven中有3套相互独立的生命周期:

  • clean:清理工作
  • default:核心工作,如:编译、测试、打包、安装、部署等
  • site:生成报告、发布站点等

比如,如果要执行package打包的操作,需要先把compile、test完成(重点:是同一套生命周期内阶段是有顺序的,比如执行instal不会先执行clean,因为它们属于两套生命周期)

;