zoukankan      html  css  js  c++  java
  • maven快速使用教程

    Maven 五分钟入门
    ---本文翻译自Maven官网的Maven in 5 Minutes,稍有删改,所有版权归maven所有。本文只作学习交流

    之用。
    安装
    Maven 是一个java工具,因此,在继续之前你必须安装好java(即本机要安装好jre )。
    首先,下载 Maven并把它解压到你要安装的目录,例如:windows 下的C:/maven ,或者linux下

    的/usr/local/maven 。
    之后,把系统变量 M2_HOME 和变量值 maven安装目录/bin设置到你的系统的环境变量中。然后在系统控

    制台(windows cmd)或终端(linux)下敲入 mvn –version,如果你安装成功,控制台将打印出你安装的

    maven的版本号,如:
    C:/Documents and Settings/Administrator>mvn -version
    Maven version: 2.0.6
    C:/Documents and Settings/Administrator>  
    根据你的网络设置,你可能需要进行一些额外的配置,如果有需必要请查阅 如何配置Maven .
     
    创建项目
    在命令行中执行以下(Maven 把它叫作goal)命令:
    mvn archetype:create -DgroupId=com.mycompany.app -DartifactId=my-app
    如果你是首次运行该(goal)命令,maven将要花一些时间去把最新的工具包(Maven 把它叫作artifacts)下

    载到你的本地仓库(什么是本地仓库?先放着,稍后再作介绍)。你也许要执行很多次上面的命令才能成功

    ,因为远程服务器有时可能连接不上或者超时(这种情况很少见,除非是你本地网络没有配置好)。
    命令执行完后你将看到maven生成了一个名为my-app的目录,这个名字就是你在命令中指定的artifactId,

    进入该目录,你将发现以下标准的项目结构:
    D:/MY-APP
    │ pom.xml

    └—src
        ├—main
        │ └—java
        │      └—com
        │          └—mycompany
        │              └—app
        │                      App.java
        │
        └—test
            └—java
                └—com
                    └—mycompany
                        └—app
                                AppTest.java
     
    其中,src/main/java 目录包含了项目的源代码,src/test/java 目录包含了项目的测试代码,pom.xml

    是项目的项目对象模型(Project Object Model or POM)。
     
    POM
    pom.xml 文件是maven对一个项目的核心配置,这个文件将包含你希望如何构建项目的大多数配置信息。

    POM大而复杂,但你不用全部去了解,只要使用一些常用的配置就可以了。下面列出这个POM的内容:
    <project xmlns="http://maven.apache.org/POM/4.0.0"

    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-

    v4_0_0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <groupId>com.mycompany.app</groupId>
     <artifactId>my-app</artifactId>
     <packaging>jar</packaging>
     <version>1.0-SNAPSHOT</version>
     <name>my-app</name>
     <url>http://maven.apache.org</url>
     <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>3.8.1</version>
          <scope>test</scope>
        </dependency>
     </dependencies>
    </project>
     
    我刚刚做了什么?
     
    你执行了Maven 命令(goal)archetype:create,并且设置了一些参数在这个命令中,前缀 archetype

    是包含create命令的一个maven的plugin,如果你熟悉ant的话,你可能做过类似的事情。这个goal命令根

    据项目原型(符合maven标准的项目模板)建立了一个简单的项目。现在可以确定地说,一个maven 插件

    就是一些有着相同目的的goals命令的集合,例如 jboss-maven-plugin 这个插件,就是为了处理各种和

    jboss相关的任务。
     
    Build 项目
     
    mvn package
    这时命令行将会打印出各种动作,并且以下面一段信息结束:
     ...
    [INFO] ------------------------------------------------------------------------
    [INFO] BUILD SUCCESSFUL
    [INFO] ------------------------------------------------------------------------
    [INFO] Total time: 2 seconds
    [INFO] Finished at: Thu Oct 05 21:16:04 CDT 2006
    [INFO] Final Memory: 3M/6M
    [INFO] ------------------------------------------------------------------------
    与首次执行的命令不同(archetype:create),你也可以注意到了,这次执行的只是一个简单的命令---

    package。不同于goal,这是一个phase(阶段),一个phase(阶段)是指构建生命周期的一个阶段,构建生

    命周期是指有序的一系列phase(阶段)。当给出一个phase(阶段),Maven将执行所有的在此阶段前的

    phase及其自身,例如,如果我们执行compile阶段,实际上执行的阶段有:
    validate
    generate-sources
    process-sources
    generate-resources
    process-resources
    compile
    你可以使用以下的命令来测试新编译和打包出来的jar包,
    java -cp target/my-app-1.0-SNAPSHOT.jar com.mycompany.app.App
    这时将打印出最经典的:
    Hello World!
     
    运行Maven工具
     
    Maven phases(阶段)
    虽然很难列出一张非常全面的表,但在此可先列出最普通的默认的生命周期阶段:
    validate,验证工程是否正确,所有需要的资源是否可用。
    compile,编译项目的源代码。  
    test:使用合适的单元测试框架来测试已编译的源代码。这些测试不需要已打包和布署。
    Package:把已编译的代码打包成可发布的格式,比如jar。
    integration-test:如有需要,将包处理和发布到一个能够进行集成测试的环境。
    verify:运行所有检查,验证包是否有效且达到质量标准。
    install:把包安装在本地的repository中,可以被其他工程作为依赖来使用。
    Deploy:在集成或者发布环境下执行,将最终版本的包拷贝到远程的repository,使得其他的开发者或者

    工程可以共享。
    除以上介绍的默认阶段,还有两个重要的Maven 的生命周期。它们是:
    clean:清除先前构建的artifacts(这个词用中文还真不好翻译,在maven中,把由项目生成的包都叫作

    artifact)。
    site:为项目生成文档站点。
     
    Phases(阶段)实际上对应着潜在的goals,特殊的每个阶段执行的特殊的goals由项目的类型所决定,例

    如:如果项目的类型是jar,package阶段将默认执行jar:jar的goals,如果项目类型是war,那么package阶

    段执行的goals将是war:war。
    有件有趣的事情需要注意,那就是phases和goals需要按一定的顺序来执行。
    mvn clean dependency:copy-dependencies package
    这个命令将先清除项目,然后拷贝依赖,最后把项目打包,当然,在打包之前,会先执行此阶段之前的阶

    段.如compile,test等.
    生成站点
    mvn site
    这个阶段生成基于pom.xml配置的项目信息。你可以在target/site目录下看到生成的文档。
    总结
    我们希望这编快速入门能激起你对Maven的兴趣。注意这仅仅是一编浓缩了的快速入门指南。需了解Maven

    更多更全的特性,请查阅Maven入门指南

    资料来源于:appfuse中文论坛http://www.pben.cn/main.bbscs?

    action=read&bid=54&postID=8a8a8a8f162ab0c601163cc310c654fa 

  • 相关阅读:
    iOS 苹果开发证书失效的解决方案(Failed to locate or generate matching signing assets)
    iOS NSArray数组过滤
    App Store2016年最新审核规则
    iOS 根据字符串数目,自定义Label等控件的高度
    iOS 证书Bug The identity used to sign the executable is no longer valid 解决方案
    Entity FrameWork 增删查改的本质
    EF容器---代理类对象
    Entity FrameWork 延迟加载本质(二)
    Entity FrameWork 延迟加载的本质(一)
    Entity FrameWork 增删查改
  • 原文地址:https://www.cnblogs.com/whuqin/p/4982146.html
Copyright © 2011-2022 走看看