开篇词
该指南将引导你使用 Maven 构建简单的 Java 项目。
你将创建的应用
你将借助 Maven 构建一个简单的应用。
你将需要的工具
- 大概 15 分钟左右;
- 你最喜欢的文本编辑器或集成开发环境(IDE)
- JDK 8 或更高版本;
如何完成这个指南
像大多数的 Spring 入门指南一样,你可以从头开始并完成每个步骤,也可以绕过你已经熟悉的基本设置步骤。如论哪种方式,你最终都有可以工作的代码。
- 要从头开始,移步至设置项目;
- 要跳过基础,执行以下操作:
待一切就绪后,可以检查一下 gs-maven/complete
目录中的代码。
设置项目
首先,为 Maven 设置一个 Java 项目。为了将注意力集中在 Maven 上,先使该项目尽可能的简单。
创建目录结构
在选择的项目目录中,创建以下自目录结构;例如,在 Linux 系统上使用 mkdir -p src/main/java/hello
:
└── src
└── main
└── java
└── hello
在 src/main/java/hello
目录中,我们可以创建 Java 类。为简单起见以及与该指南的其余部分保持一致,Spring 建议创建两个类:HelloWorld.java
和 Greeter.java
。
src/main/java/hello/HelloWorld.java
package hello;
public class HelloWorld {
public static void main(String[] args) {
Greeter greeter = new Greeter();
System.out.println(greeter.sayHello());
}
}
src/main/java/hello/Greeter.java
package hello;
public class Greeter {
public String sayHello() {
return "Hello world!";
}
}
安装 Maven
现在我们有了可以使用 Maven 来构建的项目,我们开始安装 Maven。
我们可以从 https://maven.apache.org/download.cgi 来获取。仅需二进制文件即可,因此请查找 apache-maven-{version}-bin.zip 或 apache-maven-{version}-bin.tar.gz 所对应的链接。
将文件解压缩,并将 bin 目录添加至环境变量中。
要测试 Maven 的安装,请在命令行运行 mvn
:
mvn -v
如果一切顺利,我们会看到以下消息:
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T16:41:47+00:00)
Maven home: /home/dsyer/Programs/apache-maven
Java version: 1.8.0_152, vendor: Azul Systems, Inc.
Java home: /home/dsyer/.sdkman/candidates/java/8u152-zulu/jre
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "4.15.0-36-generic", arch: "amd64", family: "unix"
我们现在已经安装了 Maven。
提示:我们可能考虑用 Maven Wrapper 来确保开发人员之间使用的 Maven 版本为一致的。从 Spring Initializr 下载的项目都包含包装器。它在跟路径下是一个
mvnw
脚本,用以代替mvn
命令。
定义一个简单的 Maven 构建
现在已经安装了 Maven,我们需要创建一个 Maven 项目定义。Maven 项目是使用名为 pom.xml 的 XML 文件来进行定义的。除了其他一些信息,该文件还提供了项目的名称、版本以及对外部库的依赖关系。
在项目的根目录创建一个名为 pom.xml 的文件(即 src
目录旁边),其内容为:
<?xml version="1.0" encoding="UTF-8"?>
<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 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.springframework</groupId>
<artifactId>gs-maven</artifactId>
<packaging>