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

1.第一个命令

显示版本信息:mvn -v/-version (一般用来检查是否具备maven环境)web

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经常使用命令详解:apache

一、mvn archetype:generate 建立mvn项目app

可使用 mvn archetype:generate -DarchetypeCatalog=internaleclipse

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

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

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

...网站

[INFO] Generating project in Interactive mode (这里会卡一下子,由于要联网获取项目模板)ui

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

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已不可用。

相关文章
相关标签/搜索