本教程会指导我们创建第一个 Maven 项目。创建一个 Maven 项目也就是指创建一个 POM 文件和标准目录结构。

实际上,这个项目并非一个实际的 Maven 项目。它只是一个用 Maven 构建的 Java 项目。同样的项目也可以用 Ant 或者 Gradle 构建脚本构建。

创建项目目录

在本机硬盘的某个地方创建一个新目录。这个目录将会作为第一个 Maven 项目的根目录。

创建POM文件

项目根目录创建完成后,在该目录内创建一个文件 pom.xml。在该文件内,我们可以放入如下 XML:

  1. <project xmlns="http://maven.apache.org/POM/4.0.0"
  2. xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
  4. http://maven.apache.org/xsd/maven-4.0.0.xsd">
  5. <modelVersion>4.0.0</modelVersion>
  6. <groupId>com.16ketang</groupId>
  7. <artifactId>hello-world</artifactId>
  8. <version>1.0.0</version>
  9. </project>

这是最小的 pom.xml 文件。

groupId 标识公司或者组织。

artifactId 标识项目。更特殊地是,它标识从项目构建的构件,比如一个 JAR 文件。

version 标识 POM 文件构建的制品的版本。准备发布项目时,记住要更新版本号。

需要使用我们构件的其它项目会使用 groupIdartifactIdversion 来引用这个构件,所以要确保设置合适有意义的值。

测试 POM 文件

当在项目根目录中创建完 pom.xml 文件时,测试一下 Maven 是否能正常工作,以及是否理解这个 pom.xml 文件,总是个不错的想法。

要测试 pom.xml 文件,请打开命令行控制台,转到项目根目录,然后执行如下命令:

mvn clean

mvn clean 命令会清理项目目录下所有之前的临时构建文件。因为这个项目现在还是全新的,所以不会有之前的构建文件被删除。因此,这条命令会成功。

我们会看到 Maven 会在命令行上输出找到了什么项目。这是 Maven 理解 POM 文件的一个标志。如下是 Maven 可能输出什么的一个例子:

2. 第一个Maven项目 - 图1

创建 Java 源目录

POM 文件测试无误后,我们来创建一个 Java 源代码目录。Java 源代码目录应该放在标准目录结构内。也就是说,应该创建如下目录结构:

src
  main
    java

就是说,项目根目录下要创建一个 src 目录,src 目录下要创建一个 main 目录,main 目录下要创建一个 java 目录。java 目录就是我们的 Java 源代码的根目录。

创建 Java 源代码文件

在 Java 源代码根目录(src/main/java)中,创建一个新目录(Java 包)helloworld。在该目录中,新建一个文件HelloWorld.java。在文件中写入如下 Java 代码,并存盘:

package helloworld;

public class HelloWorld {
    public static void main(String args[]){
        System.out.println("Hello World, Maven");
    }
}

构建项目

创建完 Java 源代码后,打开命令行提示符,转到项目根目录,然后执行如下命令:

mvn package

mvn package 命令通知 Maven 执行 package 构建阶段(default 构建生命周期的一个部分)。

Maven 应该可以执行,它会编译 Java 源代码,并创建一个包含编译好 Java 类的 JAR 文件。

Maven 在项目根目录下创建一个 target 子目录。在 target 子目录中,我们会找到搞定了的 JAR 文件,以及很多临时文件(比如一个包含所有编译好的类的 classes 目录)。

最终的JAR文件将会用如下的模式命名:

artifactId-version

所以,根据前面所示的 POM 文件,JAR 文件会被命名为:

hello-world-1.0.0.jar

恭喜!我们现在已经构建好我们的第一个 Maven 项目了!