Maven自身指定定义了一套对项目进行编译,测试,打包,运行,部署等工作的抽象。Maven自己是不实际负责这些工作的,而是把它们交给了插件。所以Maven命令的实际工作执行者是各种各样的插件。
maven 命令的格式为 mvn [plugin-name]:[goal-name],可以接受的参数如下:
常用参数:
-D 指定参数,如 -Dmaven.test.skip=true 跳过单元测试;
-P 指定 Profile 配置,可以用于区分环境;
-e 显示maven运行出错的信息;
-o 离线执行命令,即不去远程仓库更新包;
-X 显示maven允许的debug信息;
-U 强制去远程更新snapshot的插件或依赖,默认每天只更新一次。
参考:
-h,--help Display help information
-am,--also-make 构建指定模块,同时构建指定模块依赖的其他模块;
-amd,--also-make-dependents 构建指定模块,同时构建依赖于指定模块的其他模块;
-B,--batch-mode 以批处理(batch)模式运行;
-C,--strict-checksums 检查不通过,则构建失败;(严格检查)
-c,--lax-checksums 检查不通过,则警告;(宽松检查)
-D,--define <arg> Define a system property
-e,--errors 显示详细错误信息
-emp,--encrypt-master-password <arg> Encrypt master security password
-ep,--encrypt-password <arg> Encrypt server password
-f,--file <arg> 使用指定的POM文件替换当前POM文件
-fae,--fail-at-end 最后失败模式:Maven会在构建最后失败(停止)。如果Maven refactor中一个失败了,Maven会继续构建其它项目,并在构建最后报告失败。
-ff,--fail-fast 最快失败模式: 多模块构建时,遇到第一个失败的构建时停止。
-fn,--fail-never 从不失败模式:Maven从来不会为一个失败停止,也不会报告失败。
-gs,--global-settings <arg> 替换全局级别settings.xml文件(Alternate path for the global settings file)
-l,--log-file <arg> 指定输出日志文件
-N,--non-recursive 仅构建当前模块,而不构建子模块(即关闭Reactor功能)。
-nsu,--no-snapshot-updates 强制不更新SNAPSHOT(Suppress SNAPSHOT updates)
-U,--update-snapshots 强制更新releases、snapshots类型的插件或依赖库(否则maven一天只会更新一次snapshot依赖)
-o,--offline 运行offline模式,不联网进行依赖更新
-P,--activate-profiles <arg> 激活指定的profile文件列表(用逗号[,]隔开)
-pl,--projects <arg> 手动选择需要构建的项目,项目间以逗号分隔;A project can be specified by [groupId]:artifactId or by its relative path.
-q,--quiet 安静模式,只输出ERROR
-rf,--resume-from <arg> 从指定的项目(或模块)开始继续构建
-s,--settings <arg> 替换用户级别settings.xml文件(Alternate path for the user settings file)
-T,--threads <arg> Thread count, for instance 2.0C where C is core multiplied
-t,--toolchains <arg> Alternate path for the user toolchains file
-V,--show-version Display version information WITHOUT stopping build
-v,--version Display version information
-X,--debug 输出详细信息,debug模式。
-cpu,--check-plugin-updates 【废弃】,仅为了向后兼容
-npr,--no-plugin-registry 【废弃】,仅为了向后兼容
-npu,--no-plugin-updates 【废弃】,仅为了向后兼容
-up,--update-plugins 【废弃】,仅为了向后兼容
maven常用命令:
创建maven项目:mvn archetype:create
指定 group: -DgroupId=packageName
指定 artifact:-DartifactId=projectName
创建web项目:-DarchetypeArtifactId=maven-archetype-webapp
创建maven项目:mvn archetype:generate
验证项目是否正确:mvn validate
maven 打包:mvn package
只打jar包:mvn jar:jar
生成源码jar包:mvn source:jar
产生应用需要的任何额外的源代码:mvn generate-sources
编译源代码: mvn compile
编译测试代码:mvn test-compile
运行测试:mvn test
运行检查:mvn verify
清理maven项目:mvn clean
生成eclipse项目:mvn eclipse:eclipse
清理eclipse配置:mvn eclipse:clean
生成idea项目:mvn idea:idea
安装项目到本地仓库:mvn install
发布项目到远程仓库:mvn:deploy
在集成测试可以运行的环境中处理和发布包:mvn integration-test
显示maven依赖树:mvn dependency:tree
显示maven依赖列表:mvn dependency:list
下载依赖包的源码:mvn dependency:sources
安装本地jar到本地仓库:mvn install:install-file -DgroupId=packageName -DartifactId=projectName -Dversion=version -Dpackaging=jar -Dfile=path
web项目相关命令:
启动tomcat:mvn tomcat:run
启动jetty:mvn jetty:run
运行打包部署:mvn tomcat:deploy
撤销部署:mvn tomcat:undeploy
启动web应用:mvn tomcat:start
停止web应用:mvn tomcat:stop
重新部署:mvn tomcat:redeploy
部署展开的war文件:mvn war:exploded tomcat:exploded
网友评论