详解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命令大全内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 调用maven命令的BAT脚本分享

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

  • 使用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中下载jar包源码和javadoc的命令介绍

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

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

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

  • 详解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)

  • 详解Mysql命令大全(推荐)

    主要介绍常用的MySQL命令,包括连接数据库,修改密码,管理用户,操作数据库,操作数据表,数据库备份等,每个命令都配有实例说明,让大家更容易理解. 1.连接Mysql 格式: mysql -h主机地址 -u用户名 -p用户密码 1.连接到本机上的MYSQL. 首先打开DOS窗口,然后进入目录mysql\bin,再键入命令mysql -u root -p,回车后提示你输密码.注意用户名前可以有空格也可以没有空格,但是密码前必须没有空格,否则让你重新输入密码. 如果刚安装好MYSQL,超级用户roo

  • 详解Maven POM(项目对象模型)

    POM( Project Object Model,项目对象模型 ) 是 Maven 工程的基本工作单元,是一个XML文件,包含了项目的基本信息,用于描述项目如何构建,声明项目依赖,等等. 执行任务或目标时,Maven 会在当前目录中查找 POM.它读取 POM,获取所需的配置信息,然后执行目标. POM 中可以指定以下配置: 项目依赖 插件 执行目标 项目构建 profile 项目版本 项目开发者列表 相关邮件列表信息 在创建 POM 之前,我们首先需要描述项目组 (groupId), 项目的

  • 详解maven依赖冲突以及解决方法

    什么是依赖冲突 依赖冲突是指项目依赖的某一个jar包,有多个不同的版本,因而造成类包版本冲突 依赖冲突的原因 依赖冲突很经常是类包之间的间接依赖引起的.每个显式声明的类包都会依赖于一些其它的隐式类包,这些隐式的类包会被maven间接引入进来,从而造成类包冲突 如何解决依赖冲突 首先查看产生依赖冲突的类jar,其次找出我们不想要的依赖类jar,手工将其排除在外就可以了.具体执行步骤如下 1.查看依赖冲突 a.通过dependency:tree是命令来检查版本冲突 mvn -Dverbose dep

  • 详解maven的install的作用

    一,使用eclipse 1,maven的install可以将项目本身编译并打包到本地仓库,这样其他项目引用本项目的jar包时不用去私服上下载jar包,直接从本地就可以拿到刚刚编译打包好的项目的jar包,很灵活,避免每次都需要重新往私服发布jar包的痛苦: 2,修改服务端比如manage层和dao层的项目的时候如果eclipse没有自动编译,则在调试的时候容易出很奇怪的错误,就是明明代码已经改好了,但是debug的时候还是在报错,这就是没有项目没有编译完成造成的,看到的改好的代码没有变成class

  • 详解Maven profile配置管理及激活profile的几种方式

    为了实现不同环境构建的不同需求,这里使用到了 profile.因为 profile 能够在构建时修改 pom 的一个子集,或者添加额外的配置元素.接下来介绍 Maven 中对 profile 的配置和激活. 针对不同环境的 profile 的配置 为了体现不同环境的不同构建,需要配置好不同环境的 profile,代码如下: <profiles> <profile> <id>dev_evn</id> <properties> <db.driv

  • 详解Maven JAR包冲突问题排查及解决方案

    前言 写这篇文章的初衷是因为今天在使用mvn dependency:tree命令时,突然想起一年前面试阿里的一道面试题.面试题是说假设线上发生JAR包冲突,应该怎么排查?我那时候的回答是IDEA有个Maven Helper的插件,可以帮忙分析依赖冲突,然后还有一种办法是如果一个类import的时候提示两个地方可导入,那就说明有冲突.现在回头想想确实太不专业了,以下是一次JAR包冲突的一个比较正规的流程,是通过整理几篇博客后总结的希望对大家也有帮助,如果有错误的地方也欢迎指出 GitHub地址:h

  • 详解maven BUILD FAILURE的解决办法

    问题描述 在使用IDEA的maven创建项目时总是失败,错误信息如下截图所示: 从图中可以看到是maven出了问题,在控制终端中执行maven help:system命令,测试能否正常build项目,执行错误信息如下所示: 尝试的解决办法: 删除C:\user\用户名.m2文件夹下的repository文件夹,选择maven–>clean–>install,重新build项目.(无效) 删除原有的maven文件夹,官网下载最新的maven包并进行相关配置.(无效) 修改.m2和maven\co

  • 详解maven中profiles使用实现

    目录 使用的场景 快速上手 pom.xml文件设置 目录结构 maven打包与激活profiles 通过IDEA的可视化的方式 更高级的玩法 通过和yml结合设置动态参数 打包不同的资源 使用的场景 常常遇到一些项目中多环境切换的问题.比如在开发过程中用到开发环境,在测试中使用测试环境,在生产中用生产环境的情况.springboot中提供了 spring.profile.active的方式来实现多环境的切换,通过设置环境变量和启动参数的方式.但是这样做终究不能一劳永逸,要么需要修改yml文件,要

  • 详解Linux命令中的正则表达式

    命令中的正则表达式 如果要在命令输出或文本中筛选内容时使用模糊查找,就需要使用正则表达式.正则表达式是一套由多个元字符组成的模糊查找模式,使用正则表达式可以快速查找和定位文本中指定的内容. 1.单字符匹配符.  正则表达式主要由一些元字符和匹配模式组成 单字符匹配符可以匹配任意单个字符,这个字符的功能和文件名匹配符中的?功能相同 使用正则表达式查找文本,首先需要使用元字符组成一个查找模式 (1)使用查找模式时,通常将其放入两个斜杠//中,然后再放入命令,例如要在一个文本中查找匹配模式/.i...

随机推荐