本文为《JavaEE开发的颠覆者 Spring Boot实战》的Maven学习笔记。
Maven概述
讲到项目的搭建,也许使用的是通过开发工具新建项目,然后将项目所要依赖的第三方jar包复制到项目的类路径下(通常为lib目录)。而这种搭建方式没有第三方类库的依赖关系,在导入一个特定的jar包时,可能此jar包还依赖其他的jar包,其他的jar包又依赖于更多的jar包。为了解决上述问题,我们急需引入一个项目构建工具。Apache Maven是一个软件项目管理工具,基于项目对象模型(Project Object Model, POM)的概念。Maven可以用来管理项目的依赖、编译、文档等信息。
POM介绍
Maven的项目都有一个pom.xml用来管理项目的依赖以及项目的编译等功能。我们主要关注以下的元素。
1、dependencies元素
dependencies元素元素包含多个项目依赖,需要使用的dependency标签。
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>
2、dependency元素
dependency元素内部通过groupId,artifactId以及version确定唯一的依赖,有人称这三个为坐标。
groupId:组织的唯一标识。
artifactId:项目的唯一标识。
version:项目的版本。
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
</dependency>
3、变量定义
变量定义:可以定义变量在dependency中引用。示例代码如下:
4、编译插件
Maven提供了编译插件,可在编译插件中涉及Java的编译级别。示例代码如下:
Maven会自动根据dependency中的依赖配置,直接沟通难过互联网中Maven中心库下载项目依赖包到.m2目录下,.m2目录下是你本地Maven库。
若Mavne中心库没有需要的jar包,需要通过Maven命令打开本地Maven库打到本地Maven库后应用即可。例如安装Oracle驱动到本地库: