首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

maven 入门引见

2012-12-20 
maven 入门介绍Maven是什么?Maven: 中文翻译,专家。基本上有两个用途一是构建工具,用来把源代码构建成可

maven 入门介绍

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

    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的最新版本,并自动下载、使用该最新版。

    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 。 来验证安装是否成功。

    Maven入门实例
    1) 新建项目my-app.
    首先使用cd 切换到放置项目的路径,然后在命令行敲入
    java -cp target/my-app-1.0-SNAPSHOT.jar com.tootuu.app.App
    打印出 "Hello World!"


    常用命令。(mvn XXX)
    mvn archetype:create :创建 Maven 项目
    validate:验证工程是否正确,所有需要的资源是否可用。
    compile:编译项目的源代码。  
    test:使用合适的单元测试框架来测试已编译的源代码。这些测试不需要已打包和布署。
    Package:把已编译的代码打包成可发布的格式,比如jar。
    integration-test:如有需要,将包处理和发布到一个能够进行集成测试的环境。
    verify:运行所有检查,验证包是否有效且达到质量标准。
    install:把包安装在本地的repository中,可以被其他工程作为依赖来使用。
    Deploy:在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者工程可以共享。
    clean:清除先前构建的artifacts(在maven中,把由项目生成的包都叫作artifact)。
    site:为项目生成文档站点。

     参考资源
    [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


 

热点排行