1. Maven是什么?
    Maven: 中文翻译,"专家"。基本上有两个用途
    一是构建工具,  用来把源代码构建成可发布的构件。类似于ant;
    另外一个是项目管理工具。
    官方给出的定义是:
    Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(ProjectLifecycle),一个依赖管理系统(Dependency Management System),和用来运行定义在生命周期阶段(phase)中插件(plugin)目标(goal)的逻辑。

  2. Maven中的关键词
    Project
    : 任何您想build的事物,Maven都可以认为它们是工程。这些工程被定义为工程对象模型(POM,Poject Object Model)。一个工程可以依赖其它的工程;一个工程也可以由多个子工程构成。
    POM:POM(pom.xml)是Maven的核心文件,它是指示Maven如何工作的元数据文件,类似于Ant中的build.xml文件。POM文件位于每个工程的根目录中。
    GroupId:groupId是一个工程的在全局中唯一的标识符,一般地,它就是工程名。groupId有利于使用一个完全的包名,将一个工程从其它有类似名称的工程里区别出来。
    Dependency:为了能够build或运行,一个典型的Java工程会依赖其它的包。在Maven中,这些被依赖的包就被称为dependency。dependency一般是其它工程的artifact。
    Plug-in:Maven是由插件组织的,它的每一个功能都是由插件提供的。插件提供goal(类似于Ant中的target),并根据在POM中找到的元数据去完成工作。主要的Maven插件要是由Java写成的,但它也支持用Beanshell或Ant脚本写成的插件。
    Repository:仓库用于存放artifact,它可以是本地仓库,也可以是远程仓库。Maven有一个默认的远程仓库--central,可以从http://www.ibiblio.org/maven2/下载其中的artifact。在Windows平台上,本地仓库的默认地址是User_Home\.m2\repository。
    Snapshot:工程中可以(也应该)有一个特殊版本,它的版本号包括SNAPSHOT字样。该版本可以告诉Maven,该工程正处于开发阶段,会经常更新(但还未发布)。当其它工程使用此类型版本的artifact时,Maven会在仓库中寻找该artifact的最新版本,并自动下载、使用该最新版。
  3. Maven 下载安装(Windows)
    http://maven.apache.org/download.html 
    下载最新版本 Maven 3.0.4 (Binary zip)
    解压到D: 盘.(因为Maven是基于java的, 所以必须先安装JDK并设置了 JAVA_HOME变量。)
    新增以下环境变量-
       MAVEN_HOME : D:\apache-maven-3.0.2
       MAVEN : %MAVEN_HOME%\bin
      (可选) MAVEN_OPTS : -Xms256m -Xmx512m

    在path 前面 加上 %MAVEN%;
    到此, 安装完成。
    可以在命令行输入: mvn -version 。 来验证安装是否成功。

  4. Maven入门实例
    1) 新建项目my-app.
    首先使用cd 切换到放置项目的路径,然后在命令行敲入

    mvn archetype:create -DgroupId=com.tootuu.app -DartifactId=my-app

    如果是首次运行这个命令, 这个命令的运行时间会比较长, 因为会下载一些最新的工具包(artifacts)到你的本地仓库(User_Home\.m2\repository)
    命令执行完成,会生成一个 my-app的目录。(改该目录下有一个pom.xml文件和一个src的文件夹。src/main/java 目录包含了项目的源代码,src/test/java 目录包含了项目的测试代码  自动生成com.tootuu.app.App.java的一个Hello world的测试文件)
    2) 编译打包

    mvn package

    执行完成后, 在my-app目录下会生成target 目录, 里面有产生的my-app-1.0-SNAPSHOT.jar 打包档。
    3) 接下来就可以使用Java 命令来运行这个jar档了

    java -cp target/my-app-1.0-SNAPSHOT.jar com.tootuu.app.App

    打印出 "Hello World!"

  5. 常用命令。(mvn XXX)
    mvn archetype:create :创建 Maven 项目
    validate:验证工程是否正确,所有需要的资源是否可用。
    compile:编译项目的源代码。  
    test:使用合适的单元测试框架来测试已编译的源代码。这些测试不需要已打包和布署。
    Package:把已编译的代码打包成可发布的格式,比如jar。
    integration-test:如有需要,将包处理和发布到一个能够进行集成测试的环境。
    verify:运行所有检查,验证包是否有效且达到质量标准。
    install:把包安装在本地的repository中,可以被其他工程作为依赖来使用。
    Deploy:在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
    clean:清除先前构建的artifacts(在maven中,把由项目生成的包都叫作artifact)。
    site:为项目生成文档站点。
  6.  参考资源
    [1]Maven官方网站. http://maven.apache.org
    [2]Maven POM文件参考结构. http://maven.apache.org/ref/current/maven-model/maven.html
    [3]Super POM. http://maven.apache.org/guides/introduction/introduction-to-the-pom.html
    [4]Maven主要插件的列表. http://maven.apache.org/plugins
    [5]Maven基本使用指南. http://maven.apache.org/guides/index.html
    [6]Better Build with Maven. http://www.mergere.com/m2book_download.jsp -- 强烈推荐
    [7]介绍Maven2. http://www.javaworld.com/javaworld/jw-12-2005 /jw-1205-maven_p.html
    [8]揭秘Maven2 POM. http://www.javaworld.com/javaworld/jw-05-2006/jw-0529-maven.html
    [9]Maven让事情变得简单. http://www-128.ibm.com/developerworks/cn/java/j-maven
    [10]Maven文档集. http://docs.codehaus.org/display/MAVENUSER/Home
    [11]有效利用Maven2的站点生成功能. http://www.matrix.org.cn/resource/article/44/44491_Maven2.html
    文中例子程序下载:http://www.blogjava.net/files/jiangshachina/maven.rar

maven 入门介绍相关推荐

  1. Maven 持续介绍与注意事项

    本篇承接上一篇: maven 入门介绍 POM POM 代表工程对象模型.它是使用 Maven 工作时的基本组件,是一个 xml 文件.它被放在工程根目录下,文件命名为 pom.xml. 能够在 PO ...

  2. Maven学习总结(一)——Maven入门

    2019独角兽企业重金招聘Python工程师标准>>> Maven学习总结(一)--Maven入门 一.Maven的基本概念 Maven(翻译为"专家",&quo ...

  3. SpringBoot 2.0 系列001 -- 入门介绍以及相关概念

    为什么80%的码农都做不了架构师?>>>    SpringBoot 2.0 系列001 -- 入门介绍以及相关概念 什么是SpringBoot? 项目地址:http://proje ...

  4. Maven学习(一)——Maven入门

    为什么80%的码农都做不了架构师?>>>    一.Maven的基本概念 Maven(翻译为"专家","内行")是跨平台的项目管理工具.主要服 ...

  5. Maven入门指南(一)

    原文链接  译文链接  译者:nkcoder  校对:方腾飞 Maven介绍: Maven是一个强大的Java项目构建工具.当然,你也可以使用其它工具来构建项目,但由于Maven是用Java开发的,因 ...

  6. Spring Cloud 全家桶 入门介绍

    Spring Cloud 全家桶 入门介绍 Spring Cloud为开发人员提供了工具,以快速构建分布式系统中的一些常见模式(例如,配置管理,服务发现,断路器,智能路由,微代理,控制总线,一次性令牌 ...

  7. 分布式事物框架Easy-Transaction--使用入门介绍

    分布式事物框架Easy-Transaction--使用入门介绍 The origin This framework is inspired by a PPT (<大规模SOA系统的分布式事务处理 ...

  8. 【转】Maven 入门

    [转]http://www.blogjava.net/jiangshachina/archive/2006/09/01/67080.html Maven入门--概念与实例  最近由于工作原因在研究.应 ...

  9. maven 入门(转)

    Apache Maven 入门篇 ( 上 ) 作者:GeorgeMa 写这个 maven 的入门篇是因为之前在一个开发者会的动手实验中发现挺多人对于 maven不是那么了解,所以就有了这个想法. 这个 ...

最新文章

  1. JavaScript复制内容到剪贴板
  2. Android自定义app图标,自定义app图标(Icon) - Cordova中文网
  3. Winform中实现将照片剪贴到系统剪切板中(附代码下载)
  4. word2vec中文类似词计算和聚类的使用说明及c语言源代码
  5. 模拟退火总结+洛谷模板题(P1337 [JSOI2004]平衡点 / 吊打XXX)
  6. 论文浅尝 | 基于知识图谱的智能调研方法(DI佳作)
  7. 线程也不是越多越好,多少是好?
  8. html中为什么style中不显示发光点,css实现发光文字,以及一点点js特效
  9. 开源云原生平台 Apache Kafka暴露多家大企业的敏感数据
  10. 算法优化策略之“中途相遇”算法思想
  11. windows定时截屏小工具
  12. 从两年一次到一年三次,百度频繁调整架构为哪般?
  13. 关于安卓上pcm文件转wav全是噪音解决办法
  14. 【Python基础】3-语法进阶
  15. 新版标准日本语初级_第三十课
  16. 马士兵java ppt_[马士兵JAVA教程课件.ppt
  17. 修改新网域名DNS服务器到DNSPOD解析服务
  18. 有关 英语学习的一些网站
  19. SQLServer数据库基本操作(一)
  20. 腾讯大讲堂之精益设计

热门文章

  1. pure-ftp 修改用户信息
  2. 谨防职业病 IT人士必不可少的四类食物
  3. sudo -u hdfs hdfs balancer出现异常 No lease on /system/balancer.id
  4. 【免费下载】2021年6月份热门报告盘点
  5. 研究生必备自学课程!打好科研的数学基础与机器学习基础!
  6. 网站前后端交互学习有感
  7. mysql跳过安全_几年了,作为一个码农终于把MySQL日记看懂了!
  8. java连接mysql表格_java中表格连接数据库
  9. Linux中重定向的实验总结,Linux中重定向命令行的总结
  10. Leetcode每日一题:198.house-robber(打家劫舍)