背景
最近在基于 Maven 构建自动化公布流水线,发现当我的项目多、我的项目之间依赖多时,理解 Maven 的命令应用,真是锦上添花。特为大家整顿了一套 Maven 常见命令及应用小技巧。倡议珍藏,甚至打印进去放在办公桌以备疾速应用。
废话不多说,间接上干货。
Maven 常见命令应用
我的项目目录构造:
--P(父工程 pom)-- A(子工程 - common)-- B(子工程 - biz 依赖 common)-- C(子工程 - Web 依赖 B、间接依赖 A)
创立类命令
创立一般 Maven 我的项目
mvn archetype:create -DgroupId=packageName -DartifactId=projectName
创立之后,能够用 IDE 进行我的项目导入。
创立 Web Maven 我的项目
mvn archetype:create -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp
创立之后,能够用 IDE 进行我的项目导入。
公布第三方 Jar 到本地库中
mvn install:install-file -DgroupId=xxx.xx.xxxx -DartifactId=xxx -Dversion=0.0.1 -Dpackaging=jar -Dfile= 门路 /xxx-0.0.1.jar
构建打包类命令
编译源代码
mvn compile
编译测试代码
mvn test-compile
编译测试代码
mvn test
打包我的项目
mvn package
革除打包的我的项目
mvn clean
package、install、deploy 等命令常于该命令配合应用。
革除历史打包并从新打包
mvn clean package
最罕用的命令之一。
革除并 install 到本地
mvn clean install
查看以后我的项目已被解析的依赖
mvn dependency:list
罕用于 Jar 包依赖抵触排查等。
上传到私服
mvn deploy
简单组合命令
强制查看更新后打包
mvn clean package -U
- U 参数,强制查看更新,避免缓存等起因应用历史依赖,在自动化公布脚本中会常常用到。
打包排除单元测试
mvn clean package -Dmaven.test.skip=true
打包并指定环境
mvn clean package -P test
test 为 maven 中配置的不同打包环境名称。
打包指定子项目和父我的项目
mvn clean install -pl C -am -Dmaven.test.skip=true
阐明:对父工程 P、子模块 C、以及子模块 C 依赖的 B、A 模块执行 mvn clean install 操作,波及到的 P、A、B、C 模块全副 install 到本地。
在自动化构建时,通常会用到该组命令,对于根底板块可将 install 命令换成 deploy 命令,公布到私服中。
只打包父工程
mvn clean install -N
只打包父工程 P,子模块不会执行相干操作。有父子关系的我的项目构建上传到私服时,往往须要先构建上传父我的项目(pom 我的项目)。
只打包 A 工程
mvn clean install -pl A -am
因为 A 工程不依赖其余模块,因而仅对 P 和 A 进行 mvn clean install 操作。
被依赖我的项目打包
mvn clean install -pl A -amd
对父工程 P、子模块 A 以及依赖于 A 模块的 B、C 模块执行 mvn clean install 操作。应用场景:根底的 common 模块变更了,通过该命令将依赖 common 的其余模块也进行从新 mvn clean install 操作。
Jar 包公布
mvn clean deploy -Dmaven.test.skip=true
上述命令能够对 jar 包进行打包公布到仓库,同时须要在 pom.xml 中通过 distributionManagement 元素配置要公布的公有仓库地址信息。公有仓库的明码等信息在 setting.xml 文件中配置。
打包指定 setting.xml 文件
mvn clean package -s settings.xml
万能的命令
最初,还有一个万能的命令,help 命令:
mvn -help 或 mvn -h
通过此命令能够查看更多 Maven 反对的命令操作。
IDEA 中 Maven 操作
在 IDEA 中 Maven 的一些操作技巧与性能。
1、通过 Terminal 执行命令
关上 IDEA 的 Terminal 命令窗口,默认是关上以后我的项目的根目录,能够间接执行 mvn 命令。也可通过 cd 等命令切换目录进行执行。
该形式的劣势是比 IDE 主动解析、下载 jar 包依赖要快十分多,而且不容易呈现下载一半卡死的情况。
2、Maven 图形界面执行
可通过 IDEA 提供的 Maven 图形界面执行:
双击对应的命令即可执行。左上角的两个圆圈能够进行 jar 包依赖的刷新。
禁用单元测试
在执行打包构建时如果不须要执行单元测试,可抉择闪电符号。
alt 或 command 抉择多个命令同时执行:
小结
本文将应用 Maven 时常见的命令及操作进行了整顿,心愿可能大家提供帮忙。当然,如果你有其余的黑科技命令,也能够互动交换。
博主简介:《SpringBoot 技术底细》技术图书作者,热爱钻研技术,写技术干货文章。
公众号:「程序新视界」,博主的公众号,欢送关注~
技术交换:请分割博主微信号:zhuan2quan