Maven的常用指令集合

注意:

  • 文件夹名称是固定的不能更改(src,main,test,target,pom.xml,…)。
  • 执行指令的时候,需要在pom.xml所在目录下,以为管理员身份运行terminal。

一、Maven常用命令及其作用

1、 maven clean:对项目进行清理,删除target目录下编译的内容

2、 maven compile:编译项目源代码

3、 maven test:对项目进行运行测试

4、 maven packet:打包文件并存放到项目的target目录下,打包好的文件通常都是编译后的class文件

5、 maven install:在本地仓库生成仓库的安装包,可供其他项目引用,同时打包后的文件放到项目的target目录下

二、常用命令使用场景举例

1、mvn clean package依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段

package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库

2、mvn clean install依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段

install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库

3、mvn clean deploy依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段

deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库

三、常见问题

(一)mvn clean install 和 mvn install 的区别

1、根据maven在执行一个生命周期命令时,理论上讲,不做mvn install 得到的jar包应该是最新的,除非使用其他方式修改jar包的内容,但没有修改源代码

2、平时可以使用mvn install ,不使用clean会节省时间,但是最保险的方式还是mvn clean install,这样可以生成最新的jar包或者其他包

(二)maven两种跳过单元测试方法的区别

1、mvn package -Dmaven.test.skip=true

不但跳过了单元测试的运行,同时也跳过了测试代码的编译

2、mvn package -DskipTests

跳过单元测试,但是会继续编译。如果没时间修改单元测试的bug,或者单元测试编译错误,则使用第一种,不要使用第二种。

四、mvn命令参数

mvn -v, --version 显示版本信息;
mvn -V, --show-version 显示版本信息后继续执行Maven其他目标;

mvn -h, --help 显示帮助信息;

mvn -e, --errors 控制Maven的日志级别,产生执行错误相关消息;
mvn -X, --debug 控制Maven的日志级别,产生执行调试信息;
mvn -q, --quiet 控制Maven的日志级别,仅仅显示错误;

mvn -Pxxx 激活 id 为 xxx的profile (如有多个,用逗号隔开);

mvn -Dxxx=yyy 指定java全局属性;

mvn -o , --offline 运行offline模式,不联网更新依赖;

mvn -N, --non-recursive 仅在当前项目模块执行命令,不构建子模块;

mvn -pl, --module_name 在指定模块上执行命令;

mvn -ff, --fail-fast 遇到构建失败就直接退出;

mvn -fn, --fail-never 无论项目结果如何,构建从不失败;

mvn -fae, --fail-at-end 仅影响构建结果,允许不受影响的构建继续;

mvn -C, --strict-checksums 如果校验码不匹配的话,构建失败;
mvn -c, --lax-checksums 如果校验码不匹配的话,产生告警;

mvn -U 强制更新snapshot类型的插件或依赖库(否则maven一天只会更新一次snapshot依赖);

mvn -npu, --no-plugin-updates 对任何相关的注册插件,不进行最新检查(使用该选项使Maven表现出稳定行为,该稳定行为基于本地仓库当前可用的所有插件版本);

mvn -cpu, --check-plugin-updates 对任何相关的注册插件,强制进行最新检查(即使项目POM里明确规定了Maven插件版本,还是会强制更新);

mvn -up, --update-plugins [mvn -cpu]的同义词;

mvn -B, --batch-mode 在非交互(批处理)模式下运行(该模式下,当Mven需要输入时,它不会停下来接受用户的输入,而是使用合理的默认值);

mvn -f, --file 强制使用备用的POM文件;
mvn -s, --settings 用户配置文件的备用路径;
mvn -gs, --global-settings 全局配置文件的备用路径;

mvn -emp, --encrypt-master-password 加密主安全密码,存储到Maven settings文件里;

mvn -ep, --encrypt-password 加密服务器密码,存储到Maven settings文件里;

mvn -npr, --no-plugin-registry 对插件版本不使用~/.m2/plugin-registry.xml(插件注册表)里的配置。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值