前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Maven常见操作命令

Maven常见操作命令

作者头像
程序新视界
发布2022-05-06 13:40:09
5100
发布2022-05-06 13:40:09
举报
文章被收录于专栏:丑胖侠丑胖侠

背景

最近在基于Maven构建自动化发布流水线,发现当项目多、项目之间依赖多时,了解Maven的命令使用,真是如虎添翼。特为大家整理了一套Maven常见命令及使用小技巧。建议收藏,甚至打印出来放在办公桌以备快速使用。

废话不多说,直接上干货。

Maven常见命令使用

项目目录结构:

代码语言:javascript
复制
--P(父工程pom)
	-- A (子工程 - common)
	-- B (子工程 - biz 依赖common)
	-- C (子工程 - Web 依赖B、间接依赖A)

创建类命令

创建普通Maven项目
代码语言:javascript
复制
mvn archetype:create -DgroupId=packageName -DartifactId=projectName

创建之后,可以用IDE进行项目导入。

创建Web Maven项目
代码语言:javascript
复制
mvn archetype:create -DgroupId=packageName -DartifactId=webappName -DarchetypeArtifactId=maven-archetype-webapp

创建之后,可以用IDE进行项目导入。

发布第三方Jar到本地库中
代码语言:javascript
复制
mvn install:install-file -DgroupId=xxx.xx.xxxx -DartifactId=xxx -Dversion=0.0.1 -Dpackaging=jar -Dfile=路径/xxx-0.0.1.jar

构建打包类命令

编译源代码
代码语言:javascript
复制
mvn compile
编译测试代码
代码语言:javascript
复制
mvn test-compile
编译测试代码
代码语言:javascript
复制
mvn test
打包项目
代码语言:javascript
复制
mvn package
清除打包的项目
代码语言:javascript
复制
mvn clean

package、install、deploy等命令常于该命令配合使用。

清除历史打包并重新打包
代码语言:javascript
复制
mvn clean package

最常用的命令之一。

清除并install到本地
代码语言:javascript
复制
mvn clean install
查看当前项目已被解析的依赖
代码语言:javascript
复制
mvn dependency:list

常用于Jar包依赖冲突排查等。

上传到私服
代码语言:javascript
复制
mvn deploy

复杂组合命令

强制检查更新后打包
代码语言:javascript
复制
mvn clean package -U

-U参数,强制检查更新,防止缓存等原因使用历史依赖,在自动化发布脚本中会经常用到。

打包排除单元测试
代码语言:javascript
复制
mvn clean package -Dmaven.test.skip=true
打包并指定环境
代码语言:javascript
复制
mvn clean package -P test

test为maven中配置的不同打包环境名称。

打包指定子项目和父项目
代码语言:javascript
复制
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命令,发布到私服中。

只打包父工程
代码语言:javascript
复制
mvn clean install -N

只打包父工程P,子模块不会执行相关操作。有父子关系的项目构建上传到私服时,往往需要先构建上传父项目(pom项目)。

只打包A工程
代码语言:javascript
复制
mvn clean install -pl A -am

由于A工程不依赖其他模块,因此仅对P和A进行mvn clean install操作。

被依赖项目打包
代码语言:javascript
复制
mvn clean install -pl A -amd

对父工程P、子模块A以及依赖于A模块的B、C模块执行mvn clean install操作。使用场景:基础的common模块变更了,通过该命令将依赖common的其他模块也进行重新mvn clean install操作。

Jar包发布
代码语言:javascript
复制
mvn clean deploy -Dmaven.test.skip=true

上述命令可以对jar包进行打包发布到仓库,同时需要在pom.xml中通过distributionManagement元素配置要发布的私有仓库地址信息。私有仓库的密码等信息在setting.xml文件中配置。

打包指定setting.xml文件
代码语言:javascript
复制
mvn clean package -s settings.xml
万能的命令

最后,还有一个万能的命令,help命令:

代码语言:javascript
复制
mvn -help 或 mvn -h

通过此命令可以查看更多Maven支持的命令操作。

IDEA中Maven操作

在IDEA中Maven的一些操作技巧与功能。

1、通过Terminal执行命令

打开IDEA的Terminal命令窗口,默认是打开当前项目的根目录,可以直接执行mvn命令。也可通过cd等命令切换目录进行执行。

image-20220127111819336
image-20220127111819336

该方式的优势是比IDE自动解析、下载jar包依赖要快非常多,而且不容易出现下载一半卡死的状况。

2、Maven图形界面执行

可通过IDEA提供的Maven图形界面执行:

image-20220127112049885
image-20220127112049885

双击对应的命令即可执行。左上角的两个圆圈可以进行jar包依赖的刷新。

禁用单元测试

在执行打包构建时如果不需要执行单元测试,可选择闪电符号。

禁用单元测试
禁用单元测试

alt或command选择多个命令同时执行:

image-20220127112305878
image-20220127112305878

小结

本文将使用Maven时常见的命令及操作进行了整理,希望能够大家提供帮助。当然,如果你有其他的黑科技命令,也可以互动交流。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-02-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 背景
  • Maven常见命令使用
    • 创建类命令
      • 构建打包类命令
        • 复杂组合命令
          • 1、通过Terminal执行命令
          • 2、Maven图形界面执行
      • IDEA中Maven操作
      • 小结
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档