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