Maven常用命令介绍

maven常用命令与语法

pom.xml 中个元素的意义

groupId 规定了这个项目属于哪个组,或者公司之类的

artifactId 定义了当前maven项目在组中唯一的ID

version 版本号

常用命令

mvn compile 编译代码

mvn clean 清理

mvn test 执行测试代码

mvn package 将项目打包

mvn install 将项目 安装到本地仓库 (执行 package 时会先执行compile 同理,执行 install 时会先执行 package)

mvn archetype:generate 生成 pom项目骨架

语法格式

maven 命令的格式为

mvn [plugin-name]:[goal-name]

可以接受的参数如下:`

-D 指定参数,如 -Dmaven.test.skip=true 跳过单元测试;

-P 指定 Profile 配置,可以用于区分环境;

-e 显示maven运行出错的信息;

-o 离线执行命令,即不去远程仓库更新包;

-X 显示maven允许的debug信息;

-U 强制去远程更新snapshot的插件或依赖,默认每天只更新一次。

常用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

Maven库:

链接

Maven依赖查询:

链接
一,Maven常用命令:

创建Maven的普通Java项目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=projectName

创建Maven的Web项目:
mvn archetype:create
-DgroupId=packageName
-DartifactId=webappName
-DarchetypeArtifactId=maven-archetype-webapp

反向生成 maven 项目的骨架:
mvn archetype:generate
  你是怎么创建你的maven项目的?是不是像这样:

mvn archetype:create -DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.ryanote -Dartifact=common
  如果你还再用的话,那你就out了,现代人都用mvn archetype:generate了,它将创建项目这件枯燥的事更加人性化,你再也不需要记那么多的archetypeArtifactId,你只需输入archetype:generate,剩下的就是做”选择题”了.

cmd步骤:

缩写写法:

mvn archetype:generate -DgroupId=otowa.user.dao -DartifactId=user-dao -Dversion=0.01-SNAPSHOT

编译源代码:
mvn compile

编译测试代码:
mvn test-compile

运行测试:
mvn test

产生site:
mvn site

打包:
mvn package

在本地Repository中安装jar:
mvn install
例:installing D:\xxx\xx.jar to D:\xx\xxxx

清除产生的项目:
mvn clean

生成eclipse项目:
mvn eclipse:eclipse

生成idea项目:
mvn idea:idea

组合使用goal命令,如只打包不测试:
mvn -Dtest package

编译测试的内容:
mvn test-compile

只打jar包:
mvn jar:jar

只测试而不编译,也不测试编译:
mvn test -skipping compile -skipping test-compile
( -skipping 的灵活运用,当然也可以用于其他组合命令)

清除eclipse的一些系统设置:
mvn eclipse:clean
18.查看当前项目已被解析的依赖:

mvn dependency:list
19.上传到私服:

mvn deploy

强制检查更新,由于快照版本的更新策略(一天更新几次、隔段时间更新一次)存在,如果想强制更新就会用到此命令:
mvn clean install-U

源码打包:
mvn source:jar

mvn source:jar-no-fork
mvn compile与mvn install、mvn deploy的区别
mvn compile,编译类文件
mvn install,包含mvn compile,mvn package,然后上传到本地仓库
mvn deploy,包含mvn install,然后,上传到私服
二,PS:
  一般使用情况是这样,首先通过cvs或svn下载代码到本机,然后执行mvn eclipse:eclipse生成ecllipse项目文件,然后导入到eclipse就行了;修改代码后执行mvn compile或mvn test检验,也可以下载eclipse的maven插件。

显示版本信息 :
mvn -version/-v

创建mvn项目:
mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app

生成target目录,编译、测试代码,生成测试报告,生成jar/war文件 :
mvn package

运行项目于jetty上:
mvn jetty:run

显示详细错误 信息:
mvn -e

验证工程是否正确,所有需要的资源是否可用:
mvn validate

在集成测试可以运行的环境中处理和发布包:
mvn integration-test

运行任何检查,验证包是否有效且达到质量标准:
mvn verify

产生应用需要的任何额外的源代码,如xdoclet :
mvn generate-sources

使用 help 插件的 describe 目标来输出 Maven Help 插件的信息:
mvn help:describe -Dplugin=help

使用Help 插件输出完整的带有参数的目标列 :
mvn help:describe -Dplugin=help -Dfull

获取单个目标的信息,设置 mojo 参数和 plugin 参数。此命令列出了Compiler 插件的compile 目标的所有信息 :
mvn help:describe -Dplugin=compiler -Dmojo=compile -Dfull

列出所有 Maven Exec 插件可用的目标:
mvn help:describe -Dplugin=exec -Dfull

看这个“有效的 (effective)”POM,它暴露了 Maven的默认设置 :
mvn help:effective-pom

想要查看完整的依赖踪迹,包含那些因为冲突或者其它原因而被拒绝引入的构件,打开 Maven 的调试标记运行 :
mvn install -X

给任何目标添加maven.test.skip 属性就能跳过测试 :
mvn install -Dmaven.test.skip=true

构建装配Maven Assembly 插件是一个用来创建你应用程序特有分发包的插件 :
mvn install assembly:assembly

生成Wtp插件的Web项目 :
mvn -Dwtpversion=1.0 eclipse:eclipse

清除Eclipse项目的配置信息(Web项目) :
mvn -Dwtpversion=1.0 eclipse:clean

将项目转化为Eclipse项目 :
mvn eclipse:eclipse

mvn exec命令可以执行项目中的main函数 :
首先需要编译java工程:
mvn compile

不存在参数的情况下:
mvn exec:java -Dexec.mainClass="***.Main"

存在参数:
mvn exec:java -Dexec.mainClass="***.Main" -Dexec.args=“arg0 arg1 arg2”

指定运行时库:

mvn exec:java -Dexec.mainClass="***.Main" -Dexec.classpathScope=runtime

打印出已解决依赖的列表 :
mvn dependency:resolve

打印整个依赖树 :
mvn dependency:tree

在应用程序用使用多个存储库

<repositories>    
    <repository>     
        <id>Ibiblio</id>     
        <name>Ibiblio</name>     
        <url>http://www.ibiblio.org/maven/</url>   
    </repository>   
    <repository>     
        <id>PlanetMirror</id>     
        <name>Planet Mirror</name>     
        <url>http://public.planetmirror.com/pub/maven/</url>   
    </repository>  
</repositories>
mvn deploy:deploy-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar -DrepositoryId=maven-repository-inner -Durl=ftp://xxxxxxx/opt/maven/repository/

发布第三方Jar到本地库中

mvn install:install-file -DgroupId=com -DartifactId=client -Dversion=0.1.0 -Dpackaging=jar -Dfile=d:\client-0.1.0.jar

-DdownloadSources=true

-DdownloadJavadocs=true
三,附加
mvn help:describe
你是否因为记不清某个插件有哪些goal而痛苦过,你是否因为想不起某个goal有哪些参数而苦恼,那就试试这个命令吧,它会告诉你一切的.

参数: 1. -Dplugin=pluginName 2. -Dgoal(或-Dmojo)=goalName:与-Dplugin一起使用,它会列出某个插件的goal信息,

如果嫌不够详细,同样可以加-Ddetail.(注:一个插件goal也被认为是一个 “Mojo”)

下面大家就运行mvn help:describe -Dplugin=help -Dmojo=describe感受一下吧!

mvn tomcat:run
用了maven后,你再也不需要用eclipse里的tomcat来运行web项目(实际工作中经常会发现用它会出现不同步更新的情况),只需在对应目录里运行 mvn tomat:run命令,然后就可在浏览器里运行查看了.如果你想要更多的定制,可以在pom.xml文件里加下面配置:

01 02 03 04 org.codehaus.mojo 05 tomcat-maven-plugin 06 07 /web 08 9090 09 10 11 12 当然你也可以在命令里加参数来实现特定的功能,

下面几个比较常用:

1>. 跳过测试:-Dmaven.test.skip(=true)

2>. 指定端口:-Dmaven.tomcat.port=9090

3>. 忽略测试失败:-Dmaven.test.failure.ignore=true 当然,如果你的其它关联项目有过更新的话,一定要在项目根目录下运行mvn clean install来执行更新,再运行mvn tomcat:run使改动生效.

mvnDebug tomcat:run
这条命令主要用来远程测试,它会监听远程测试用的8000端口,在eclipse里打开远程测试后,它就会跑起来了,设断点,调试,一切都是这么简单.上面提到的那几个参数在这里同样适用.

mvn dependency:sources

故名思义,有了它,你就不用到处找源码了,运行一下,你项目里所依赖的jar包的源码就都有了

  • 0
    点赞
  • 0
    评论
  • 1
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

参与评论 您还未登录,请先 登录 后发表或查看评论
©️2022 CSDN 皮肤主题:数字20 设计师:CSDN官方博客 返回首页

打赏作者

⺌北城南笙。

你的鼓励将是我创作的最大动力

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值