Maven系列(二):Maven常用命令

1.第一个命令

显示版本信息:mvn -v/-version (通常用来检查是否具有maven环境)

2.创建Maven项目
  • 创建mvn项目:mvn archetype:generate
  • 使用internal元数据创建maven项目:
    mvn archetype:generate -DarchetypeCatalog=internal
  • 创建一个简单的Java工程:mvn archetype:create -DgroupId=com.mycompany.example -DartifactId=Example
3.Eclipse相关
  • 将项目转化为Eclipse项目:mvn eclipse:eclipse(生成Eclipse项目必须的配置文件)
  • 清除Eclipse相关配置文件:mvn eclipse:clean
  • 生成Wtp插件的Web项目:mvn -Dwtpversion=1.0 eclipse:eclipse
  • 清除Eclipse项目的配置信息(Web项目):mvn -Dwtpversion=1.0 eclipse:clean
4.编译Maven项目
  • 编译mvn项目:mvn compile
  • 编译项目测试代码:mvn test-compile
5.测试Maven项目
  • 编译并测试:mvn test
  • 只测试而不编译,也不测试编译:mvn test -skipping compile -skipping test-compile  ( -skipping 的灵活运用,当然也可以用于其他组合命令)
6.打包Maven项目
  • 打包Maven项目:mvn package(生成target目录,编译、测试代码,生成测试报告,生成jar/war文件)
  • 清理并打包Maven项目:mvn clean package
7.清理Maven生成的文件
  • 清理生成的文件:mvn clean
8.其他实用的常用命令
  • 生成项目相关信息的网站:mvn site
  • 显示详细错误信息:mvn -e
  • 验证工程是否正确,所有需要的资源是否可用:mvn validate
  • 发布第三方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(需要修改相应参数:-DgroupId、-DartifactId、-Dversion、-Dpackaging、-Dfile)
9.mvn help
  • 查看“有效的 (effective)”POM,它暴露了Maven的默认设置:mvn help:effective-pom
  • 使用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

 

Maven常用命令详解:

1、mvn archetype:generate 创建mvn项目

可以使用 mvn archetype:generate -DarchetypeCatalog=internal

archetypeCatalog表示插件使用的archetype元数据,默认值为remote,local,即中央仓库archetype元数据(http://repo1.maven.org/maven2/archetype-catalog.xml)加上插件内置元数据的和,由于中央仓库的archetype太多,导致这个列表太长,因此可以自己指定仅用内置元数据(20个左右)

首次运行时,mvn会从远程"中央仓库"下载一些必需的文件到"本地仓库" - (如果你有兴趣,可以在等待下载过程中,观察一下"C:\Users\当前用户名\.m2\repository"到底下载了些什么)

下载完成后(下一篇会讲解如何,在局域网环境中搭建“私服”,直接从局域网的代理仓库中下载这些依赖项),会自动进入交互模式,会让你输入一些基本信息,类似下面这样:

...

[INFO] Generating project in Interactive mode (这里会卡一会儿,因为要联网获取项目模板)

[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)

Choose archetype:

1: remote -> br.com.ingenieux:elasticbeanstalk-service-webapp-archetype (A Maven Archetype Encompassing RestAssured, Jetty, Jackson, Guice and Jersey for Publishing JAX-RS-based Services on AWS' Elastic Beanstalk Service)

... (这里会自动列出很多项目模板,每种模板前面会有一个数字序号)

336: remote -> org.apache.maven.archetypes:maven-archetype-quickstart (An archetype which contains a sample Maven project.)

...

Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): 336: (这里根据每个人机器上安装的eclipse插件不同,可能默认的数字不是这个,可以先不管,直接回车。若是想要创建web项目,则需选择对应的数字。Web项目的archetypes为:maven-archetype-webapp。)

Choose org.apache.maven.archetypes:maven-archetype-quickstart version:

1: 1.0-alpha-1

2: 1.0-alpha-2

3: 1.0-alpha-3

4: 1.0-alpha-4

5: 1.0

6: 1.1

Choose a number: 6: (直接回车)

Define value for property 'groupId': : cnblogs (可理解成类似package或namespace的名称,通常我们填写组织机构名称缩写)

Define value for property 'artifactId': : maven-hello-world (组件名称,可理解成项目名称)

Define value for property 'version':  1.0-SNAPSHOT: : (版本号,直接回车,默认1.0-SNAPSHOT)

Define value for property 'package':  cnblogs: : (打包后的jar文件名)

Confirm properties configuration:

groupId: cnblogs

artifactId: maven-hello-world

version: 1.0-SNAPSHOT

package: cnblogs

 Y: :  (直接回车确认)

[INFO] ----------------------------------------------------------------------------

[INFO] Using following parameters for creating project from Old (1.x) Archetype: maven-archetype-quickstart:1.1

[INFO] ----------------------------------------------------------------------------

[INFO] Parameter: groupId, Value: cnblogs

[INFO] Parameter: packageName, Value: cnblogs

[INFO] Parameter: package, Value: cnblogs

[INFO] Parameter: artifactId, Value: maven-hello-world

...

[INFO] ------------------------------------------------------------------------

[INFO] BUILD SUCCESS (看到这个,表示项目创建成功!)

[INFO] ------------------------------------------------------------------------

...

 

注:create is deprecated in maven 3.0.5 and beyond,在maven3.0.5以上版本舍弃了create,使用generate生成项目。所以mvn archetype:create已不可用。

转载于:https://my.oschina.net/u/1469930/blog/825408

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值