STS 建立 Maven 项目填坑

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

 

建立项目web

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

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

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

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

 

项目设置工具

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

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

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

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 对应的版本就改变了。

 

  接着看建立的项目,以下图。

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

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

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

  此时,项目并无完,为何呢?由于咱们把 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 Application</display-name>
7 </web-app>

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

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

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

  删除之后点击“ 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”

相关文章
相关标签/搜索