1. 前言

在前面的章节,我们介绍了如何通过 Eclipse 来创建 Java Web 项目了,在本章节,我们来介绍一下在 Eclipse 中是如何以 WAR 文件的方式对我们的 Java Web 项目进行导入导出。

2. 什么是WAR文件

通常,我们的 Java Web 项目包含了许多的静态资源以及 Java 文件,当我们需要把项目部署到 Web 服务器中的时候,我们需要对这些文件进行一个整体的管理,而 WAR 文件(Web Archive files)就是一种较为常见的方式(随着微服务的流行,也越来越多地使用 Jar 文件的方式了)。

WAR 文件其实可以看做是一个压缩包,这个压缩包能被 Web 服务器软件如 Tomcat 所识别。所以一种常见的部署项目的方式就是把我们的整个项目打包为 WAR 文件然后放到 Tomcat 中。

要注意的是,WAR 文件除了项目中的资源文件外,必须还包括了一个特殊的文件,就是我们的 web.xml,它被称为 Web 部署描述符文件(Web deployment descriptor file)。它包含项目的部署和项目设置的信息。

Eclipse 默认提供了导入和导出 WAR 文件的工具。下面我们来介绍它们。

3. 导出 WAR 文件

把项目导出为 WAR 文件主要需要设置一下要导出的位置。

我们以前面章节创建的动态 Web 项目为例子,看看如何做。

首先右键点击该项目,然后选择 Export > WAR file,如下图所示。

图片描述

接着,在出现的导出窗口中,主要是填写要导出到的目录,这里保存到了桌面,接着下面是三个可选项通常,比如是否要根据特定的服务器进行优化,是否要导出源文件,是否覆盖已存在的文件。这些都不是必须的,大家可以根据需要选择。

通常如果是正式部署到线上的服务器中,我们不会勾选 Export source files。但由于我们后面还会介绍导入,所以这里把源文件也同时导出,如下图所示:

图片描述

点击 Finish,我们的项目就会被打包为 WAR 文件,并保存到对应的目录了。如下图所示:

图片描述

4. 导入 WAR 文件

当我们已经有了一个 WAR 文件,那么就可以导入到 Eclipse 中。

我们可以 Project Explorer 视图的空白处,通过点击鼠标右键调出菜单,然后选择 Import > WAR file 选项,如下图所示:

图片描述

在导入窗口中,我们在 WAR file 选项中选择到我们需要导入的 WAR 文件。

接着对于 Web project 选项,我们需要注意的是 Eclipse 会默认创建一个和 WAR 文件同名的新的 Web 项目,而当前我们已经有一个同名的项目了,所以我这里加上一个2,以进行区分。

接着是是目标运行环境的选择,选择到我们之前添加的 Tomcat 服务器即可。

如下图所示:

图片描述

点击 Next 后是对于第三方库的选择,我们并没有引入第三方库所以是空的,如下图所示:

图片描述

现在,我们点击 Finish 即可导入我们的 WAR 文件了,结果如下图示:

图片描述

5. 总结

本章节我们介绍了在 Eclipse 中把我们的 Java Web 项目进行归档操作,也就是导入导出 WAR 文件的操作。