STS 创建 Maven 项目填坑

  用 STS 创建 Maven 项目并不复杂,只是其中有一些坑在里面,我在解决这些坑的时候发现很多人都遇到了相同的问题,因此把创建的步骤记录在这里。所有的步骤不外乎就是一些套路,并没有什么复杂的地方,只是在被套路的时候,找解决方法真是很烦人的一件事情。毕竟不是什么大的技术问题,只是一个工具的使用,难道不闹心么?方便自己,也方便有需要的朋友。

 

创建项目

  启动 STS ,点击菜单的“ File ”->“ New ”->“ Maven Project ”,出现如下图的窗口。

STS 创建 Maven 项目填坑_第1张图片

  在 Location 处填入相应的路径,我这里填入的是 “ D:\MavenTest ”,点击“ Next ”按钮,进入下一步,在“ Filter ”处填写“ webapp ”会过滤列表中的选项,毕竟太多了挨个找不容易,如下图。

STS 创建 Maven 项目填坑_第2张图片

  这里选择上面一项,可能这里只出来一项。接着点击“ Next ”按钮,进入下一步。在该步骤中,会填写项目的名称和包名称,如图所示。

STS 创建 Maven 项目填坑_第3张图片

  完成该步骤的填写后,点击“ Finish ”按钮,项目就创建完成了。

 

项目设置

  使用 STS 创建的项目默认是使用低版本的 JDK 进行开发的,并且默认使用的是 JSP 2.3版本的,在这个版本中不能解析 EL 表达式,也就是在 JSP 中写入的 ${} 表达式会被原样的输出到页面中。通常修改的方法是在项目名称上点击右键选择“ Properties ”,在弹出的属性对话框中选择“ Project Facets ”选项,如下图所示。

STS 创建 Maven 项目填坑_第4张图片

   从图中可以看出,“ Dynamic Web Module ”的版本是“2.3”,这个版本是不支持EL表达式,然后“ Java ”的版本是“1.5”,我这里将它修改为“1.8”,然后点击“ Apply ”按钮,前提是你安装了 JDK 1.8 的版本。但是修改“ Dynamic Web Module ”则会报错,如下图所示。

STS 创建 Maven 项目填坑_第5张图片

  这里已经选择了 Java 的 1.8 版本,但是仍然无法选择它的 3.1 版本。如何修改这里呢,在 STS 中点击“ Navigator ”,打开项目的“ .settings ”下的“ org.eclipse.wst.common.project.facet.core.xml ”文件,该文件内容如下:

1 xml version="1.0" encoding="UTF-8"?>
2 <faceted-project>
3   <fixed facet="wst.jsdt.web"/>
4   <installed facet="jst.web" version="2.3"/>
5   <installed facet="wst.jsdt.web" version="1.0"/>
6   <installed facet="java" version="1.8"/>
7 faceted-project>

   将上面第 4 行代码的 2.3 修改为 3.1,并保存,再回到 Project Facets 进行查看,Dynamic Web Module 对应的版本就改变了。

 

  接着看创建的项目,如下图。

STS 创建 Maven 项目填坑_第6张图片

   Maven 项目提供了三个目录,但是这里显然显示不正确,在项目上点击右键,选择“ Properties ”,选择“ Java Builld Path ”,如下图所示。

STS 创建 Maven 项目填坑_第7张图片

  选中“ JRE System Library ”列,然后点击“ Edit... ”按钮,然后选择“ Workspace default JRE(jdk1.8.0_102) ”,前提是你安装了 JDK 1.8 的版本,然后点击“ Finish ”按钮,返回上一个窗口点击“ Apply And Close ”按钮,如下图所示。

STS 创建 Maven 项目填坑_第8张图片

  此时,项目中的目录就显示正确了,如下图所示。

STS 创建 Maven 项目填坑_第9张图片

  此时,项目并没有完,为什么呢?因为我们把 Dynamic Web Module 设置为 3.1 ,但是 web.xml 文件仍然是 2.3 的版本,找到 web.xml 查看,内容如下:

1 DOCTYPE web-app PUBLIC
2  "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
3  "http://java.sun.com/dtd/web-app_2_3.dtd" >
4 
5 <web-app>
6   <display-name>Archetype Created Web Applicationdisplay-name>
7 web-app>

  直接将 web.xml 文件删除掉,在 WEB-INF 目录上点击右键 New 选择 Other 项,选择 XML File 后点击“ Next ”按钮,然后修改文件名为“ web.xml ”,接着点击“ Next ”按钮,然后选择“ Create XML file from an XML schema file ”选项,如下图。

STS 创建 Maven 项目填坑_第10张图片

  选择该选项后,点击“ Next ”按钮,然后按照下图选择相应的 xsd 文件,并点击" Next "按钮。

STS 创建 Maven 项目填坑_第11张图片

  然后根据下图进行操作,一句一句的描述实在太繁琐了,看图吧。将图中“ javaee ”的内容删掉,这是 web.xml 文件中命名空间的一个前缀,它不需要。为什么不需要呢?很多书上介绍 web.xml 文件时根本没有这个前缀,但是 STS 生成的 web.xml 文件中是有的,按照书上的配置的话,就需要人为的在添加这个前缀了。这就是我刚开始配置的时候比较郁闷的地方,后来自己发现了这个步骤。

STS 创建 Maven 项目填坑_第12张图片

  删除以后点击“ Finish ”按钮,这时我们的 web.xml 文件就生成,内容如下:

1 xml version="1.0" encoding="UTF-8"?>
2 <web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
3     xmlns:xml="http://www.w3.org/XML/1998/namespace" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4     xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee 
5     http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd ">
6 web-app>

  看到了么,版本成为 3.1 了。

 

  OK,基本上到了这里 STS 建立的 Maven 项目的一些坑就都解决了,自己试试吧!

 


我的微信公众号:“码农UP2U”

STS 创建 Maven 项目填坑_第13张图片

你可能感兴趣的:(STS 创建 Maven 项目填坑)