• 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开始后的手册。

  • 相关阅读:
    Luogu P3371 线段树1
    8-16模拟赛
    Luogu P1313 计算系数
    Luogu P1525 关押罪犯
    Luogu P1040 加分二叉树
    Luogu P1018 乘积最大
    Luogu P1541 乌龟棋
    BST,Splay平衡树学习笔记
    常见的逻辑错误
    行为认知疗法——十大认知错误
  • 原文地址:https://www.cnblogs.com/wenwujuncheng/p/3315771.html
Copyright © 2020-2023  润新知