- 我所使用的 Eclipse IDE 版本为 4.10
- 这里介绍的创建方式,并不能一步操作便完成创建工作(还需作小小的改动)。
- 在使用 Eclipse 的过程中,如果发现 Eclipse 反应迟钝/卡顿/操作不流畅,可以尝试关闭其它暂时不使用的项目( ‘Close Project’ / ‘Close Unrelated Projects’ )。
1. 首先,使用 Eclipse 中自带的 Maven-webapp 原型(Archetype)创建一个 Maven 项目
-
第一步,选择创建 Maven 项目。注意不要勾选下图标识的复选框,因为我们需要使用到 archetype 来帮助我们。继续下一步, ‘ Next ’
-
选择 Eclipse 内部(internal)自带的 archetype,即 ‘ maven-archetype-webapp ’,这个原型本身就是一个使用 maven 管理依赖的 web 项目,只是因为其(servlet)版本太旧了,它使用的 servlet 版本为 2.3,我们要在随后改为 3.1 版本,需要改动的地方主要就是指这个。选择完毕,然后 ‘ Next ’
-
指定原型参数,然后 ‘ Finish ’
-
至此,我们已经成功创建了一个 maven-webapp 项目,eclipse 中显示的目录结构如下,可以看到 eclipse 提示 ‘ index.jsp ’ 文件有错误(这个随后会解决,现在不要慌)(其实使用因为缺少 servlet.jar 包)
-
右键项目,选择属性可以看到 ‘ Project Facets ’ 中 动态 web 模块( Dynamic Web Module)的版本为 2.3,接下来我们要将版本改为 3.1(仅仅只需修改一个文件参数即可)
-
修改 ‘Project Facets’ 的 ‘Dynamic Web Module’ 的使用版本。在项目目录下的 ‘.setting’ 子目录中找到配置文件 ‘org.eclipse.wst.common.project.facet.core.xml’ 并修改如下:
修改如下(将 2.3 修改为 3.1,仅仅只需改动这一处 ,并保存):
-
进入 eclipse ,刷新(Refresh)项目,然后再次查看 ‘Project Facets’ 里面的 ‘Dynamic Web Module’ 的版本,发现已经是 3.1 版本,紧接着(在这个配置界面)再修改使用的 java 版本,并点击 ‘ Apply ’ 应用该更改
-
继续,因为是 web 项目,所以现在来添加服务器运行时库,即 ‘Server Runtime ’ lib,这个需要你配置了 tomcat 服务器(如果配置 tomcat 服务器可以参考这篇博文)
-
紧接上一步,点击 ‘ Apply and Close ’,便完成了整个工作。再次查看项目,可以发现 ‘index.jsp’ 文件已经不再提示错误了,这是因为之前没有给项目配置 ‘服务器运行时库’(Server Runtime lib) 导致的(缺少 servlet.jar,而服务器运行库提供了该 jar 包)。(其实一开始也可以选择删除该文件,不过对于 web 项目来说,最终可能都会配置服务器运行时的)。
-
最后还要改动一下 web.xml 文件,以使其配合 servlet 3.1 ,打开 web.xml 文件
web.xml 文件内容如下:
可见,web.xml 中使用的 servlet 版本为 2.3,而且是使用比较旧的 .dtd 文件,这里我们要修改为使用 XML-Schema 定义的 3.1 版本,修改后的 web.xml 文件内容为:
<?xml version="1.0" encoding="UTF-8"?>
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd" version="3.1">
</web-app>
- 至此,已经完成了 maven-webapp 项目的创建。