zoukankan      html  css  js  c++  java
  • 5分钟学习maven

    英文原地址:http://maven.apache.org/guides/getting-started/maven-in-five-minutes.html

    一、前提

    需要懂得如何在计算机上安装软件。

    二、安装

    1、maven是一个java工具,所以得首先安装java。

    2、下载maven,并安装安装指南一步步安装(解压、配置环境变量)。

    3、测试:运行:mvn --version

    三、建立一个项目

    1、首先建立一个目录用于存放maven项目,这里假设为d:mavenspace。并切换到该目录。

    2、运行下面的命令。(其中archetype是plugin,generate是plugin中的goal)

    注:如果是第一次运行这个命令,速度可能较慢,因为要maven会根据依赖关系下载很多对应的jar包。

    mvn archetype:generate -DgroupId=com.mycompany.app -DartifactId=my-app -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false

    3、运行命令cd my-app进入到maven生成的目录,会发现src/main/java目录、src/test/java目录、pom.xml文件。

    4、POM文件

    该文件是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/xsd/maven-4.0.0.xsd">
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>com.mycompany.app</groupId>
      <artifactId>my-app</artifactId>
      <version>1.0-SNAPSHOT</version>
      <packaging>jar</packaging>
    
      <name>Maven Quick Start Archetype</name>
      <url>http://maven.apache.org</url>
    
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.8.2</version>
          <scope>test</scope>
        </dependency>
      </dependencies>
    </project>

    5、刚才我做了什么?
    我们运行了maven目标archetype:generate并给命令传递了一些参数。前缀archetype 包含了目标。这个和Ant很像,可以想象成Ant的Task。这个目标根据原型创建了一个简单的项目。插件是为了一些共同的目标而由一组目标组成的。举例来说,jboss-maven-plugin就是为了处理“各种各样jboss相关的问题”。

    6、构建这个项目

    a、运行命令:mvn package
    不像我们运行的第一个命令(archetype:generate),这个命令只有一个单词:package。这不是一个目标,是一个阶段(phase),也就是项目构建生命周期中的一个过程。构建生命周期是一组有序的阶段的序列。当给定了一个阶段,maven会执行这个序列中在该阶段之前的所有阶段,也包括给定的阶段。举例来说,当我们执行compile这个阶段时,实际上被执行的阶段是:

    validate

    generate-sources

    process-sources

    generate-resources

    process-sources

    compile

    b、用下面命令测试该编译和打包了的jar,输出结果应该是:Hello World!

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

    四、运行Maven工具

    1、maven阶段(maven phases)

    尽管是一个很复杂的列表,下面是最常见的构建过程中的阶段。

    validate:

    compile:

    test:

    package:

    integration-test:

    verify:

    install:

    deploy:

    除了上面默认的列表,这里还有两个构建过程阶段。

    clean:清除前面构建生成的制品。

    site:为这个项目生成站点文档。

    注:阶段(phases)一般都对于潜在的目标(goals)。每个阶段执行的目标是依赖于项目的打包类型。举例来说,如果项目类型是JAR则package这个阶段执行jar:jar这个目标,如果项目类型是WAR则执行的是war:war这个目标。

    一个有趣的事情是阶段和目标可以在一个序列中被执行。

    mvn clean dependency:copy-dependencies package

    举例来说,以上命令会首先清除项目生成文件、复制依赖、然后打包项目(当然会执行所有阶段直到打包这个阶段)。

    2、构建站点(generating the site)

    命令是:mvn site

    这个阶段会根据项目的pom生成一个站点。你可以在target/site目录下看到生成的文档。

    五、结论

    我们希望这个快速的预览激起了你对maven多样性的兴趣。注意这个一个节选的快速开始的手册。如果你想对刚才那些你执行的动作有更加全面的和详细的了解,请阅读maven开始后的手册。

  • 相关阅读:
    Android开发 使用 adb logcat 显示 Android 日志
    【嵌入式开发】向开发板中烧写Linux系统-型号S3C6410
    C语言 结构体相关 函数 指针 数组
    C语言 命令行参数 函数指针 gdb调试
    C语言 指针数组 多维数组
    Ubuntu 基础操作 基础命令 热键 man手册使用 关机 重启等命令使用
    C语言 内存分配 地址 指针 数组 参数 实例解析
    CRT 环境变量注意事项
    hadoop 输出文件 key val 分隔符
    com.mysql.jdbc.exceptions.MySQLNonTransientConnectionException: Too many connections
  • 原文地址:https://www.cnblogs.com/wenwujuncheng/p/3315771.html
Copyright © 2011-2022 走看看