详解Maven命令大全

一、Maven简介

Maven 官网: https://maven.apache.org

Maven 3.3.9版本文档: http://maven.apache.org/ref/3 …

Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

  1. 版本:maven有自己的版本定义和规则
  2. 构建:可以完成编译,打包,部署等。
  3. 依赖管理:方便引入所需依赖 Jar 包,不需手动下载
  4. 文档生成:maven的site命令支持各种文档信息的发布,包括构建过程的各种输出,javadoc,产品文档等。
  5. 项目关系:一个大型的项目通常有几个小项目或者模块组成,用maven可以很方便地管理

1. mvn help:describe

你是否因为记不清某个插件有哪些goal而痛苦过,你是否因为想不起某个goal有哪些参数而苦恼,那就试试这个命令吧,它会告诉你一切的.

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

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

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

2. mvn archetype:generate

你是怎么创建你的maven项目的?是不是像这样:mvn archetype:create -DarchetypeArtifactId=maven-archetype-quickstart -DgroupId=com.ryanote -Dartifact=common,

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

3. 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使改动生效.

4. mvnDebug tomcat:run

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

5. mvn dependency:sources

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

Maven常用命令:

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 compile

4. 编译测试代码:mvn test-compile   

5. 运行测试:mvn test  

6. 产生site:mvn site  

7. 打包:mvn package  

8. 在本地Repository中安装jar:mvn install

9. 清除产生的项目:mvn clean  

10. 生成eclipse项目:mvn eclipse:eclipse 

11. 生成idea项目:mvn idea:idea 

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

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

14. 只打jar包: mvn jar:jar 

15. 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile

( -skipping 的灵活运用,当然也可以用于其他组合命令) 

16. 清除eclipse的一些系统设置:mvn eclipse:clean

ps:

一般使用情况是这样,首先通过cvs或svn下载代码到本机,然后执行mvn eclipse:eclipse生成ecllipse项目文件,然后导入到eclipse就行了;修改代码后执行mvn compile或mvn test检验,也可以下载eclipse的maven插件。

mvn -version/-v        显示版本信息
mvn archetype:generate    创建mvn项目
mvn archetype:create -DgroupId=com.oreilly -DartifactId=my-app  创建mvn项目

mvn package       生成target目录,编译、测试代码,生成测试报告,生成jar/war文件
mvn jetty:run      运行项目于jetty上,
mvn compile       编译
mvn test         编译并测试
mvn clean        清空生成的文件
mvn site         生成项目相关信息的网站
mvn -Dwtpversion=1.0 eclipse:eclipse    生成Wtp插件的Web项目
mvn -Dwtpversion=1.0 eclipse:clean     清除Eclipse项目的配置信息(Web项目)
mvn eclipse:eclipse             将项目转化为Eclipse项目

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

<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 -e       显示详细错误 信息.
mvn validate    验证工程是否正确,所有需要的资源是否可用。
mvn test-compile  编译项目测试代码。 。
mvn integration-test   在集成测试可以运行的环境中处理和发布包。
mvn verify        运行任何检查,验证包是否有效且达到质量标准。
mvn generate-sources   产生应用需要的任何额外的源代码,如xdoclet。

总结

到此这篇关于maven命令大全的文章就介绍到这了,更多相关maven命令大全内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间:2020-07-17

调用maven命令的BAT脚本分享

最近遇到一个问题,因为有一大堆本地库需要安装,之前采用的depedency方式为system,因为无法在package的时候自动引入. <dependency> <groupId>org.zhixun</groupId> <artifactId>IKAnalyzer</artifactId> <version>1.0</version> <scope>system</scope> <syste

maven中下载jar包源码和javadoc的命令介绍

1:Maven命令下载源码和javadocs 当在IDE中使用Maven时如果想要看引用的jar包中类的源码和javadoc需要通过maven命令下载这些源码,然后再进行引入,通过mvn命令能够容易的达到这个目的: 复制代码 代码如下: mvn dependency:sources mvn dependency:resolve -Dclassifier=javadoc 命令使用方法:首先进入到相应的pom.xml目录中,然后执行以上命令: 第一个命令是尝试下载在pom.xml中依赖的文件的源代码

使用Maven tomcat:run命令启动web项目时修改默认端口的方法

在使用maven时,修改插件tomcat启动端口.一开始我在pom.xml配置文件里面修改,如下面所示: <plugin> <groupId>org.apache.tomcat.maven</groupId> <artifactId>tomcat7-maven-plugin</artifactId> <version>2.2</version> <configuration> <port>9999&

解析maven的用法和几个常用的命令(推荐)

做项目时使用maven构建项目已经是现在的流行做法了.那么maven的作用是什么呢?maven中的几个常用的命令都有什么用?下面我们来看一下. maven最大的作用就是用于对项目中jar包依赖的统一管理. 通常项目中如果不使用maven的话,项目中用到的jar包需要自己下载,然后放到项目的lib目录,比较麻烦. 如果使用maven构建项目,项目中就会有有一个pom文件,该pom文件的作用就是对项目中的所有jar包依赖进行统一管理,如果想要使用哪个依赖只需要在pom文件中引入相关的依赖就可以,然后

网管必读-常用网络命令

网管必读-常用网络命令 如果你玩过路由器的话,就知道路由器里面那些很好玩的命令缩写.例如,"sh int" 的意思是 "show interface". 现在 Windows 2000 也有了类似界面的工具,叫做 netsh.  我们在 Windows 2000 的 cmd shell 下,输入 netsh就出来:netsh> 提示符,输入 int ip 就显示:interface ip> 然后输入 dump ,我们就可以看到当前系统的网络配置:  

总结用Pdb库调试Python的方式及常用的命令

用Pdb调试有多种方式 使用 Pdb调试 Python的程序的方式主要是下面的三种!下面逐一介绍 命令行加-m参数 命令行启动目标程序,加上-m参数,这样调用 testPdb.py的话断点就是程序执行的第一行之前 本文接下来重点讲到的实例展示就是使用这种方式进行调试的! python -m pdb testPdb.py 在python交互环境调试 >>> import pdb >>> import testPdb >>> pdb.run(‘testPd

linux下socket编程常用头文件(推荐)

sys/types.h:数据类型定义 sys/socket.h:提供socket函数及数据结构 netinet/in.h:定义数据结构sockaddr_in arpa/inet.h:提供IP地址转换函数 netdb.h:提供设置及获取域名的函数 sys/ioctl.h:提供对I/O控制的函数 sys/poll.h:提供socket等待测试机制的函数 其他在网络程序中常见的头文件 unistd.h:提供通用的文件.目录.程序及进程操作的函数 errno.h:提供错误号errno的定义,用于错误处理

Json.net 常用使用小结(推荐)

Json.net 常用使用小结(推荐) using System; using System.Linq; using System.Collections.Generic; namespace microstore { public interface IPerson { string FirstName { get; set; } string LastName { get; set; } DateTime BirthDate { get; set; } } public class Empl

JavaScript中一些常用的正则表达式(推荐)

正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取出符合某个条件的子串等. var validateRegExp = { decmal: "^([+-]?)//d*//.//d+$", // 浮点数 decmal1: "^[1-9]//d*.//d*|0.//d*[1-9]//d*$", // 正浮点数 decmal2: "^-([1-9]//d*.//d*|

计算机二级考试MySQL知识点 常用MYSQL命令

计算机二级考试MySQL知识点基础篇,MYSQL常用命令,具体如下 常用MYSQL命令(将计算机二级站点加入收藏夹) 启动:net start mySql; 进入:mysql -u root -p/mysql -h localhost -u root -p databaseName; 列出数据库:show databases; 选择数据库:use databaseName; 列出表格:show tables: 创建数据表:mysql> CREATE TABLE mytable (name VAR

JS常用字符串方法(推荐)

JS常用字符串方法(推荐) <SPAN style="FONT-FAMILY: ‘courier new’, courier">var str01 = "odd open xboxone" , str02 = "hey"; var str03; var num = 15; </SPAN> // 以下省略前半部分的 " str01. " (部分不是这个喔) charAt(num) // 得到指定索引位置的

学习linux常用命令(推荐)

一.文件系统的管理 tips:输入命令的时候要常用tab键来补全 ls 查看目录信息 ( ls / ) ls -l 等价于 ll pwd 查看当前所处的路径 cd 切换目录 (cd /) ,如果不带参数则切换到用户主目录 ~ mkdir 创建文件夹 rmdir 删除空文件夹 (只能删除空文件夹) rm -r /a/b (删除非空文件夹) 创建文件 touch a.avi 创建一个空文件 vi blabla.txt 用文本编辑器编辑一个文件并且保存 echo "angelababy,zhen de

windows常用网络命令使用脚本分享

netCmd.bat 复制代码 代码如下: #windows常用网络命令 #查看本地网卡接口信息ipconfig /all #ping(常用于测试网络连通性)ping www.baidu.com #路由相关 #1.查看路由表(其中0.0.0.0记录为默认路由配置)route print #2.添加路由(如果添加-p参数可表示添加永久路由)route add   192.168.1.0 maks 255.255.255.0 192.168.1.11 #3.删除路由route delete 192.

常用dos命令及语法

常用dos命令及语法 cd 改变当前目录,dir 列出 文件 和 文件夹名, dir /ad /b  指列出来 当前 目录下的 文件夹 echo ECHO 提示信息内容  #解释:输出提示信息      如果想 关闭"ECHO "命令行 自身的显示,则需要在该命令行前加上"@"  ,如:@echo 不显示本行的echo 关闭DOS命令提示符,在DOS提示符状态下键入ECHO OFF,能够关闭DOS提示符的显示使屏幕只留下光标,直至键入ECHO ON,提示符才会重新出

原文 

https://www.zhangshengrong.com/p/w4N7DlgwXr/

本站部分文章源于互联网,本着传播知识、有益学习和研究的目的进行的转载,为网友免费提供。如有著作权人或出版方提出异议,本站将立即删除。如果您对文章转载有任何疑问请告之我们,以便我们及时纠正。

PS:推荐一个微信公众号: askHarries 或者qq群:474807195,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分析,高并发、高性能、分布式、微服务架构的原理,JVM性能优化这些成为架构师必备的知识体系。还能领取免费的学习资源,目前受益良多

转载请注明原文出处:Harries Blog™ » 详解Maven命令大全

赞 (0)
分享到:更多 ()

评论 0

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址