“Maven官方用户入门指南”翻译之二

如何构建第一maven工程?

        我们现在开始创建第一个自己的maven工程!我们将使用maven的创建向导,构建第一个maven工程。原型定义为:一组事物所表现出来的共性。在maven中,原型是一个满足客户需求创建的maven工程模板。我们现在开始去了解创建向导的工作机制,如果你想了解更多关于原型相关的信息,请参看"原型介绍"

        继续创建第一个maven工程,执行如下命令将构建一个简单的maven工程:

mvn archetype:generate \
  -DarchetypeGroupId=org.apache.maven.archetypes \
  -DgroupId=com.mycompany.app \
  -DartifactId=my-app

一旦执行上述命令,将会出现如下结果:一个名字为my-app的目录将被创建同时这个目录中包含一个pom.xml文件,此文件的内容如下:

<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>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>Maven Quick Start Archetype</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>

pom.xml中包括了此项目的POM(项目对象模型)。POM是maven中的基本工作单元,这个很重要,因为maven所有过程的理解都依赖于此概念,总之POM包括工程中的一切重要信息,同时其他信息也都与之有关。POM很重要,初学者鼓励参看POM介绍

    这是一个非常简单的POM,但是他展示了POM包括的关键元素,我们一一讲述他们从而掌握POM要领:

    project:maven的pom.xml文件的根元素。

    modelVersion:POM采用的对象模型版本。

    groupId:项目组唯一标示,是项目的一个组分类。例如: org.apache.maven.plugins是maven的所有的plugin组id

    artifactId:此工程的唯一标示,首先工程最终将是一个jar文件,其次最终文件的名称中将包括artifactId,maven打包生成的最终文件名称格式为:<artifactId>-<version>.<extension> (如: myapp-1.0.jar).

    packaging:工程打包生成格式(如:jar,war,ear等等)。这不仅仅意味着一个jar,war或ear,同时他的特殊生命周期是作为构建过程中的一个部分出现的(生命周期的话题后面还会阐述,你现在只需要了解到他是整个构建周期中的一个部分就可以了)。packaging默认值为jar,因此有些工程可以不显示指定。

    version:工程生成文件的版本号,maven提供版本管理,你常常看到版本号中出现SNAPSHOT,他标示项目在开发阶段。后面我们还会讨论SNAPSHOT。

    name:项目工程名称。通常会在maven生成的api文档中出现。

    url:项目工程url地址。通常会在maven生成的api文档中出现。

    description:项目工程的基本描述。通常会在maven生成的api文档中出现。

    POM中的完整元素请参看POM参考,让我们回到项目中来,基于创建向导构建的工程生成的目录结构如下所示:

my-app
|-- pom.xml
`-- src
    |-- main
    |   `-- java
    |       `-- com
    |           `-- mycompany
    |               `-- app
    |                   `-- App.java
    `-- test
        `-- java
            `-- com
                `-- mycompany
                    `-- app
                        `-- AppTest.java

包括了一个pom文件,一个树形结构的应用源文件和测试源文件,这是一个标准的maven工程(应用源文件路径为: ${basedir}/src/main/java ,测试源文件路径为: ${basedir}/src/test/java, pom.xml路径为${basedir} )。

          手动创建的maven工程我们推荐此目录结构,这是maven的习惯,如果打算了解更多请参考"标准目录结构介绍"

          现在我们已经有了pom文件,应用源文件,单元测试源文件,有可能你又要问......

猜你喜欢

转载自snv.iteye.com/blog/1972109
今日推荐