Maven简介
- 提供了一套标准化的项目结构 (编译文件夹,测试文件夹……)
- 提供了一套标准化的构建流程(编译,测试,打包,发布……)
- 提供了一套依赖管理机制(不需要再自己找依赖的 jar 包并导入)
Maven使用
- 常用命令
- compile :编译。在项目下会出现一个
target
目录,编译后的字节码文件就放在该目录下 - clean:清理。删除项目下的
target
目录 - test:测试。该命令会执行所有的测试代码(项目中
test
文件夹下的)。 - package:打包。在项目的
terget
目录下有一个jar包(将当前项目打成的jar包) - install:安装。将当前项目打成jar包,并安装到本地仓库。
- compile :编译。在项目下会出现一个
- 默认生命周期:
compile
-->test
-->package
-->install
Maven依赖管理
- Maven坐标
groupId
:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.apache)artifactId
:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)version
:定义当前项目版本号scope
:当前依赖包的作用范围- scope标签中参数的作用范围如下所示
依赖范围 | 编译classpath | 测试classpath | 运行classpath | 例子 |
---|---|---|---|---|
compile | Y | Y | Y | logback |
test | - | Y | - | Junit |
provided | Y | Y | - | servlet-api |
runtime | - | Y | Y | jdbc驱动 |
system | Y | Y | - | 存储在本地的jar包 |
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">
<modelVersion>4.0.0</modelVersion>
<!--这是本项目的属性:隶属组织、对应开发的模块、版本号-->
<groupId>com.xzxhappy</groupId>
<artifactId>MavenDemo</artifactId>
<version>1.0-SNAPSHOT</version>
<!--这是本项目的属性:隶属组织、对应开发的模块、版本号-->
<properties>
<maven.compiler.source>8</maven.compiler.source>
<maven.compiler.target>8</maven.compiler.target>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!--使用坐标管理依赖,下面这个是实例-->
<dependencies>
<dependency>
<!--对应组织-->
<groupId>com.alibaba</groupId>
<!--模块-->
<artifactId>druid</artifactId>
<!--版本号-->
<version>1.1.10</version>
<!--作用域-->
<scope>compile</scope>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.16</version>
<scope>test</scope>
</dependency>
</dependencies>
<!--实例到这边-->
</project>
Maven项目目录结构
Q.E.D.