本教程会指导我们创建第一个 Maven 项目。创建一个 Maven 项目也就是指创建一个 POM 文件和标准目录结构。
实际上,这个项目并非一个实际的 Maven 项目。它只是一个用 Maven 构建的 Java 项目。同样的项目也可以用 Ant 或者 Gradle 构建脚本构建。
创建项目目录
在本机硬盘的某个地方创建一个新目录。这个目录将会作为第一个 Maven 项目的根目录。
创建POM文件
项目根目录创建完成后,在该目录内创建一个文件 pom.xml
。在该文件内,我们可以放入如下 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.16ketang</groupId>
<artifactId>hello-world</artifactId>
<version>1.0.0</version>
</project>
这是最小的 pom.xml
文件。
groupId
标识公司或者组织。
artifactId
标识项目。更特殊地是,它标识从项目构建的构件,比如一个 JAR 文件。
version
标识 POM 文件构建的制品的版本。准备发布项目时,记住要更新版本号。
需要使用我们构件的其它项目会使用 groupId
、artifactId
和 version
来引用这个构件,所以要确保设置合适有意义的值。
测试 POM 文件
当在项目根目录中创建完 pom.xml
文件时,测试一下 Maven 是否能正常工作,以及是否理解这个 pom.xml
文件,总是个不错的想法。
要测试 pom.xml
文件,请打开命令行控制台,转到项目根目录,然后执行如下命令:
mvn clean
mvn clean
命令会清理项目目录下所有之前的临时构建文件。因为这个项目现在还是全新的,所以不会有之前的构建文件被删除。因此,这条命令会成功。
我们会看到 Maven 会在命令行上输出找到了什么项目。这是 Maven 理解 POM 文件的一个标志。如下是 Maven 可能输出什么的一个例子:
创建 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 项目了!