maven常用命令笔记
-
mvn clean
对项目进行清理,删除target目录下编译的内容。
-
mvn compile
编译项目源代码。
-
mvn test
对项目进行运行测试。
-
mvn packet
打包文件并存放到项目的target目录下,打包好的文件通常都是编译后的class文件。
-
mvn install
在本地仓库生成仓库的安装包,可供其他项目引用,同时打包后的文件放到项目的target目录下。
-
mvn dependency:tree
用于查看到二级层级的依赖关系 (并不能看到所有的依赖关系)
-
mvn dependency:copy-dependencies
maven项目所依赖的jar包会导出到targed/dependency目录中。
-
mvn dependency:copy-dependencies -DoutputDirectory=lib
maven项目所依赖的jar包都会复制到项目目录下的lib目录下
-
mvn dependency:copy-dependencies -DoutputDirectory=lib -DincludeScope=compile
同时可以设置依赖级别,通常使用compile级别
场景示范:
-
mvn clean package
依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)等7个阶段 package命令完成了项目编译、单元测试、打包功能,但没有把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
-
mvn clean install
依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段 install命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库,但没有布署到远程maven私服仓库
-
mvn clean deploy
依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install、deploy等9个阶段 deploy命令完成了项目编译、单元测试、打包功能,同时把打好的可执行jar包(war包或其它形式的包)布署到本地maven仓库和远程maven私服仓库
-
mvn clean install -P dev -Dmaven.test.skip=true
依次执行了clean、resources、compile、testResources、testCompile、test、jar(打包)、install等8个阶段
参数补充。
maven两种跳过单元测试方法的区别
-
mvn package -Dmaven.test.skip=true
不但跳过了单元测试的运行,同时也跳过了测试代码的编译
-
mvn package -DskipTests
跳过单元测试,但是会继续编译。如果没时间修改单元测试的bug,或者单元测试编译错误,则使用第一种,不要使用第二种