mvn --help
会列出一些参数,如
mvn -version
查看版本号
mvn archetype:generate
mvn archetype:generate -DgroupId=com.xxx.app -DartifactId=test -DarchetypeArtifactId=maven-archetype-quickstart -DarchetypeVersion=1.3 -DinteractiveMode=false
可以使用maven命令来创建项目,上面命令是根据某个模板创建项目,groupId和artifactId表示项目的坐标。该命令是由org.apache.maven.plugins:maven-archetype-plugin:3.0.1:generate提供的。
groupId: 在所有项目中唯一标识你的项目,命名规则必须使用java包的命名规则,命名可以使用域名的倒致,如:com.cimu;com.cimu.user
artifactId: jar包的名字,你可以使用小写字母来命名,不能有特殊符号,
version: 版本号,可以使用数字或者小数点的数字,尽量不要使用时间,因为使用快照(SNAPSHOT)的时候版本号上会出现时间。如果你需要引入第三方的jar包,那么版本号必须要使用第三方发布的版本号,你写了一个不存在的版本号,那么你导入包将失败。
archetypeArtifactId: 原型项目jar名字,maven-archetype-quickstart(创建一个maven样品项目),其他的依赖项目可以查看https://maven.apache.org/guides/introduction/introduction-to-archetypes.html
archetypeVersion: 原型项目的版本号。
interactiveMode: 是否需要用户确认。
具体的该命令参数如下:
名称 | 类型 | 是否必须 | 默认值 | 支持版本 | 用户属性 | 描述 |
---|---|---|---|---|---|---|
interactiveMode | Boolean | 是 | settings.interactiveMode | - | interactiveMode | 是否需要用户确认 |
archetypeArtifactId | String | 否 | - | - | archetypeArtifactId | 原型项目的名称 |
archetypeCatalog | String | 否 | remote,local | - | archetypeCatalog | 配置原型项目从哪里加载,可以配置多个以短号隔开,local:使用本地仓库;remote:maven远程仓库或者镜像;internal:内部目录。可以在settings.xml文件里面配置不同的仓库(具体配置看注1)。如果maven远程仓库文件为空,那么会使用内部目录。 |
archetypeGroupId | String | 否 | - | - | archetypeGroupId | 原型项目的groupId |
archetypeVersion | String | 否 | - | - | archetypeVersion | 原型项目的版本 |
basedir | File | 否 | ${basedir} | - | - | 基础目录 |
filter | String | 否 | - | 2.1 | filter | 在原型项目中加一些过滤器 |
goals | String | 否 | - | - | goals | 立刻创建项目 |
注1:setting.xml配置仓库
<repository>
<id>archetype</id>
<url>https://repository.domain.com/path/to/repo/</url>
</repository>
<!-- in case of a repository with authentication -->
<server>
<id>archetype</id>
<username>user.name</username>
<password>s3cr3t</password>
</server>
mvn compile
对项目进行编译
mvn test
运行单元测试里面的所有方法
mvn test-compile
只是对单元测试类进行编译
mvn package
打jar包命令
打出来的jar包,可以在${basedir}/target目录下找到
mvn install
对项目进行打包,并加入到本地仓库里,其他项目可以进行依赖。
mvn site
生成项目网站文档。
mvn clean
删除target下面的所有文件。
mvn validate
验证项目是否正确。
mvn verify
验证包是否有效,是否符合质量标准。
mvn deploy
把生成的包发布到远程私服上去。
mvn clean source:jar deploy
把源码发布到私服上
mvn clean deploy
把target下的文件清除掉,重新打包并进行部署。
mvn dependency:tree
mvn dependency:list
显示maven依赖列表
mvn tomcat:run
启动tomcat
mvn jetty:run
启动jetty
mvn dependency:sources
下载项目里面所有jar的源码
mvn deploy:deploy-file
把第三方jar发布到私服上去,
mvn deploy:deploy-file -DgroupId=com.cimu -DartifactId=demo -Dversion=0.1.0 -Dpackaging=jar -Dfile=E:\test.jar -DrepositoryId=maven-repository-inner -Durl=ftp://xxxxxxx/opt/maven/repository/
mvn install:install-file
把第三方jar发布到本地仓库中
mvn install:install-file -DgroupId=com.cimu -DartifactId=demo -Dversion=0.1.0 -Dpackaging=jar -Dfile=E:\test.jar
mvn tomcat:deploy
运行打包部署
mvn tomcat:undeploy
撤销部署
mvn tomcat:redeploy
重新部署
命令后面可以接收的参数
-P
如果你在pom里面设置了
<profiles>
<profile>
<id>dev</id>
<build>
<filters>
<filter>profile.dev.properties</filter>
</filters>
</build>
<activation>
<activeByDefault>true</activeByDefault><!--默认启用的是dev环境配置 -->
</activation>
</profile>
</profiles>
那么打包的时候,可以使用以下命令
mvn clean install -P dev
其中的dev就是profile.id里面的值
他的作用可以指定使用哪个环境。
-D
指定参数,如 -Dmaven.test.skip=true 跳过单元测试;
-e
显示maven运行出错的信息;
-o
离线执行命令,即不去远程仓库更新包;
-X
显示maven允许的debug信息;
-U
强制去远程更新snapshot的插件或依赖,默认每天只更新一次。
注意:本文归作者所有,未经作者允许,不得转载