mvn命令使用
mvn [options] [<goal(s)>] [<phase(s)>]
可见,mvn只能运行某个插件的目标,或者生命周期的某个阶段。
每个生命周期中都包含着一系列的阶段(phase)。这些 phase 就相当于 Maven 提供的统一的接口,然后这些 phase 的实现由 Maven 的插件来完成。
我们在输入 mvn 命令的时候 比如 mvn clean
,clean 对应的就是 Clean 生命周期中的 clean 阶段。但是 clean 的具体操作是由 maven-clean-plugin
来实现的。
创建项目
1、创建Maven的普通Java项目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=projectName
2、创建Maven的Web项目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=webappName
-DarchetypeArtifactId=maven-archetype-webapp
3、交互式创建:
mvn archetype:generate
缩写写法:
mvn archetype:generate -DgroupId=otowa.user.dao -DartifactId=user-dao -Dversion=0.01-SNAPSHOT
概念
生命周期lifecycle
Maven有以下三个标准的生命周期:
clean:清理项目(包含阶段:pre-clean, clean, post-clean)
default(或build):部署项目(包含阶段:compile,test,package,install,deploy等)
site:创建项目站点文档(包含阶段:pre-site, site, post-site, site-deploy)
阶段phase
平时用的mvn compile
其实就是phase,在一个生命周期中,运行某个阶段的时候,它之前的所有阶段都会被运行。
每个生命周期包含多个阶段。
插件plugin
每个插件包含多个目标。
目标goal
目标可能被绑定到多个阶段或者无绑定,这样在运行阶段时就能够顺带运行目标了。
不绑定到任何构建阶段的目标可以在构建生命周期之外通过直接调用执行。
依赖
查看插件信息
使用help
插件的describe
目标。
指定plugin:
mvn help:describe -Dplugin=help
mvn help:describe -Dplugin=org.apache.maven.plugins:maven-help-plugin
mvn help:describe -Dplugin=help -Dgoal=help
指定plugin(带详细信息,如参数):
mvn help:describe -Dplugin=help -Ddetail=true
指定cmd:
mvn help:describe -Dcmd=install
mvn help:describe -Dcmd=help:describe
指定groupId和artifactId:
mvn help:describe -DgroupId=org.apache.maven.plugins -DartifactId=maven-help-plugin
资料
pom.xml详解:https://www.cnblogs.com/wkrbky/p/6353285.html
最全的maven的pom.xml文件详解:https://www.cnblogs.com/wkrbky/p/6357884.html