Maven简介
Maven简述
Maven是一个Java项目关系和构建工具,它可以定义项目结构、项目依赖,并使用统一的方式进行自动化构建,是Java项目不可缺少的工具。
Maven的主要功能有:
提供了一套标准化的项目结构;
提供了一套标准化的构建流程(编译,测试,打包,发布……);
提供了一套依赖管理机制
Maven项目结构
a-maven-project //项目名
|—— pom.xml //项目描述文件
|—— src
|—— —— main
|—— —— —— java //存放Java源码的目录
|—— —— —— resources //存放资源文件的目录
|—— —— test
|—— —— —— java //存放测试源码的目录
|—— —— —— resources //存放测试资源的目录
|—— target //所有编译、打包生成的文件
唯一ID
标签名 | 备注 |
---|---|
groupId | 相当于Java的包名 |
artifactId | 类似于Java的类名,通常是项目名称 |
version | 项目版本 |
一般情况下,引用其他第三方库的时候,通过这3个变量可以确定 | |
例如,依赖commons-logging: |
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>1.2</version>
</dependency>
使用
依赖关系
scope ————— 确立依赖关系
Maven定义了几种依赖关系,compile、test、runtime、provided
scope | 说明 |
---|---|
compile | 编译时需要用到该jar包(默认) |
test | 编译Test时需要用到该jar包 |
runtime | 编译时不需要,但运行时需要用到 |
provided | 编译时需要用时,但运行时由JDK或某个服务器提供 |
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.48</version>
<scope>runtime</scope>
</dependency>