Maven

Maven是专门用于管理和构建Java项目的工具,它的主要功能有:

  • 提供了一套标准化的项目结构
  • 提供了一套标准化的构建流程(编译,测试,打包,发布……)
  • 提供了一套依赖管理机制

    什么是坐标

  • Maven 中的坐标是资源的唯一标识
  • 使用坐标来定义项目或引入项目中需要的依赖

    坐标主要组成

  • groupId:定义当前Maven项目隶属组织名称(通常是域名反写,例如:com.itheima)
  • artifactId:定义当前Maven项目名称(通常是模块名称,例如 order-service、goods-service)
  • version:定义当前项目版本号

    Maven 常用命令

  • mvn clean 删除target目录
  • mvn compile 编译main目录
  • mvn test 执行test目录
  • mvn package 打包到target目录下
  • mvn install 安装到本地仓库中

    Maven 对项目构建的生命周期划分为3套

  • clean:清理工作
  • default:核心工作,例如编译,测试,打包,安装等
    • compile
    • test
    • package
    • install
  • site:产生报告,发布站点等

依赖管理

通过设置坐标的依赖范围(scope),可以设置对应jar包的作用范围

依赖范围 编译类路径 测试类路径 运行类路径 例子
compile Y Y Y logback
test - Y - Junit
provided Y Y - servlet-api
runtime - Y Y jdbc驱动
system Y Y - 存储在本地的jar包
import 引入DependencyManagement