Maven生命周期
mvn + 空格 + 生命周期参数
生命周期参数如下:
- clean 清除已经编译好的target 文件夹,里面包含已经打好的JAR包或WAR包
- validate 验证项目
- compile 编译项目
- test 编译运行测试代码
- package 默认执行compile,然后按pom里规定的类型(常见JAR/WAR)打包后放在target文件夹中,target一般放在项目根目录下,与src平级
- install 默认执行package,然后將包安装到本地仓库中,供其他模块引用
- deploy 默认执行install,然后將本地仓库中的包推送到远程仓库,供其他程序员引用
打包的时候会进行大量的测试,从而导致打包速度异常的慢,可以再命令后添加参数**-Dmaven.test.skip=true**,来加速打包过程,例如
mvn clean deploy -Dmaven.test.skip=true
Maven标签
- project 项目标签,类比html
- parent 引用父依赖
- groupId 组id,依赖包的域名
- artifactId 项目名
- packaging 打包类型
- version 包版本
- profile 配置文件,针对不同的环境制定不同的配置文件,具体使用见下文
- plugin 插件,放在build标签下,可以指定插件的下载位置
- distributionManagement、repositories、pluginRepositories 配置Maven仓库
- dependencyManagement 放在顶级pom下,该标签旨在标识项目所需要的所有依赖,在dependencyManagement标签下配置的依赖不生效,只有子pom通过dependency引入才生效
- dependency 通过依赖坐标引入指定依赖
- properties 通用占位符,一般用来指定版本
- modules 子模块
Maven 结合Idea
双击shift,输入maven打开maven标签
按钮介绍
第一排从左到右依次为:
-
刷新pom,新增依赖时使用
-
为所有项目生成源代码并更新文件夹
-
下载源码
-
引入maven模块,加载其pom.xml就可以
-
执行maven构建
-
打开maven命令行
-
离线模式
-
跳过编译和运行测试代码
-
折叠maven文件夹
-
maven设置
目录介绍
profile文件夹配合pom文件里的profiles标签可以做到按不同环境切换配置文件
root文件夹一般是项目的根目录,没有开发所依赖的各类包
其余则是项目的子模块,里面包含maven生命周期,pom引入的插件以及该子模块依赖关系