maven 基础知识

  • mvn -v 查看maven版本

maven生命周期:

  • clean 清理项目
    • pre-clean 执行清理前工作
    • clean 清理上一次构建生成的所有文件
    • post-clean 执行清理后的文件
  • default 构建项目
    • compile 编译
    • test 测试
    • package 打包
    • clean 删除目标文件
    • install 发布到本地仓库
  • site 生成项目站点
    • pre-site 在生成项目站点前要完成的功能
    • site 生成项目的站点文档
    • post-site 在生成项目站点后要完成的工作
    • site-deploy 发布生成的站点到服务器上

创建目录的两种方式:

  • archetype:generate 按照提示进行选择
  • archetype:generate -DgroupId= 组织名。公司网址的反写+项目名 -DartifactId=项目名-模块名 -Dversion=版本号 -Dpackage=代码所存在的包名

pom文件解析

  • modelVersion 指定pom版本
  • groupId 主项目标识(公司网址的反写+项目名)
  • artifactId 模块标识(项目名+模块名)
  • version 当前项目版本号(0.0.1)
    • 第一个标识大版本号
    • 第二个表示分支版本号
    • 第三个表示小版本号
    • snapshot快照
    • alpha内部测试
    • beta 公测
    • Relesae 稳定
    • GA正式发布
  • packaging 打包方式,默认是jar(war、zip、pom)
  • name 项目描述名
  • url 项目地址
  • description项目描述
  • developers 开发人员列表
  • licenses 许可
  • organization 组织
  • dependencies 依赖列表
    • dependencie 依赖项
    • type
    • scope 依赖范围
      • test 测试范围内有用
      • complile 默认范围,编译测试都有效
      • provided 测试编译
      • runtime 调用
      • system 测试编译(本地)
      • import 只使用在dependencyManagement,表示从其他的pom中导入dependecy的配置
    • optional 设置依赖是否可选
    • exclusions 排除依赖传递列表
  • dependencyManagement 依赖管理 定义在父模块,供子模块继承
  • build 对构建行为提供相应的支持
    • plugins 插件列表
      -plugin 插件
  • parent 子模块对父模块pom继承
  • modules 聚合运行多个项目