Maven

Author Avatar
ahscuml 3月 18, 2019
  • 在其它设备中阅读本文章

Maven项目目录结构

maven目录结构

Maven命令

mvn

  • -v 查看maven版本
  • compile 编译
  • test 测试
  • package 打包
  • clean 删除target
  • install 安装jar包到本地仓库中

compile首先去pom文件中的dependencies查找依赖,然后去本地仓库中查找,如果本地仓库中没有,就去中央仓库查找(groupId,artifactId,version)

自动构建目录

自动创建目录的两种方式:

  1. archetype:generate 按照提示进行选择(groupId,artifactId,version,package)
  2. archetype:generate -DgroupId=组织名,公司网址的反写+项目名 -DartifactId=项目名-模块名 -Dversion=版本号 -Dpackage=代码所存在的包名

Maven中的坐标和仓库

坐标(构件)(groupId,artifactId,version)
仓库

  • 本地仓库
  • 中央仓库
  • 镜像仓库(添加镜像仓库,更改本地仓库位置)

Maven生命周期

完整的项目构建过程包括:清理、编译、测试、打包、集成测试、验证、部署

Maven声明周期:

  • clean 清理项目
  • default 构建项目
  • site 生成项目站点

clean、compile、test、package、install

clean清理项目

  • pre-clean 执行清理前的工作
  • clean 清理上一次构建生成的所有文件
  • post-clean 执行清理后的文件

default 构建项目(最核心)

  • compile、test、package、install

site 生成项目站点

  • pre-site 在生成项目站点前要完成的工作
  • site 生成项目的站点文档
  • post-site 在生成项目站点后要完成的工作
  • site-deploy 发布生成的站点到服务器上

pom解析

maven依赖范围

pom中的scope(范围): 测试,编译,运行

  • compile 编译测试运行都有效
  • provided 在编译和测试的时候有效
  • runtime 在测试和运行时有效
  • test 只在测试时有效
  • system 与本机系统相关联,可移植性差
  • import 导入范围,只在使用dependencyManagement中,表示从其它的pom中导入dependecy的配置

maven依赖的传递

maven构建web项目

This blog is under a CC BY-NC-SA 4.0 Unported License
本文链接:https://ahscuml.github.io/Maven/