您的位置:首页 > 编程语言 > Java开发

使用maven 创建 springmvc整合mybatis项目 踩过的坑

2016-09-05 14:41 627 查看
@(环境配置)

摘要

这篇主要是记录自己使用 sts 使用maven搭建 springmvc整合mybatis项目过程和踩过的一些坑:

1. 项目目录结构问题

2. Dynamic Web2.3 和 Dynamic Web3.0 兼容问题

3. 各种文件存放目录问题

使用sts创建 maven项目

选择 webapp 项目:



填写项目信息:



创建后目录如下:



真是有点坑啊,刚刚创建的最基本的maven项目,直接就报错,而且大家可以看到,项目目录是又问题的,现在我们来解决下面两个问题:

项目目录结构问题

这个问题很好解决,主要是因为 jdk 导致的,我们可以右键项目->build path-> configure build path



编辑项目使用的jdk环境为自己安装的jdk环境,我这里安装的是 java8.0, 所以选择 java1.8.



然后 finish -> applay 之后,可以看到项目目录结构正常了:



解决错误

错误是因为没有引入包导致的,我们可以直接引入 servlet 的包就可以解决:

在 pom.xml 文件中引入 dependency, 解决问题

<!-- servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>




Web2.3 转 Web3.0 问题

这个问题的来源主要是因为我的
web.xml
默认是 2.3的,但是现在基本上都使用 3.0 的配置了,但是 sts创建的基本webapp还是 2.3,就比较坑爹了。网上看了很多方法,需要修改各种配置文件,太过于麻烦,这里提供一个简单的方法:

项目属性 -> project facets:



可以看到当前状态是 web 2.3 以及 java 1.5:

1. 先将 java1.5 修改为 自己安装的 jdk 版本,我这里是java1.8,可直接修改

2. 但是如果此时你直接修改 Dynamic web module 为 3.0 的话,会报错:



所以我们先将它 取消勾选,点击ok,



然后再次进到这里,勾选它:



此时可以直接点击OK,也可以选择下面的
further configuration avaliable
:



可以保持默认,然后就会创建WebContent 目录,以及勾选 web.xml 文件。

我这里提供另外一种方法,将 WebContent 修改为:
src/main/webapp
,大家可能就明白了,这个为了兼容 2.3 的配置文件,这样我就不需要删除原来的配置文件了。



两种方法都可以,我选择的是后者。

修改到这里,项目居然有错:



看一下 probleams:



是因为
web.xml
下的配置还是2.3,这里直接修改为:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID"
version="3.0" >

<display-name>Archetype Created Web Application</display-name>
</web-app>


搞定。

然后 alt+F5 更新项目,又出错了:



还记得刚刚开始我们修改自己的项目jdk为1.8,但是这里为什么还是1.5呢?

我们需要再在
pom.xml
文件中添加 一个 plugin:

<build>
<finalName>spring-mybatis</finalName>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.8</source>
<target>1.8</target>
</configuration>
</plugin>
</plugins>
</build>


然后 alt+F5 更新项目,问题终于解决完了:



最后是关于文件存放目录的问题

这里直接截个图:



需要说明的是,在maven打包过程中,会将所有的这些文件都打到war包中,包括 web.xml 等一些文件。

我这里想强调的是,在 web3.0项目中,mapping文件夹不能再存放在 src/main/java 下, src/main/java 下只会把 java文件打包,而在2.3中,所有 src/main/java 下的文件,包括配置文件,都会被打包,这点需要注意。 所以我们需要将 mapping 文件夹放到 resources 目录下。

代码下载:

其他的没什么好说的了,大家可以在网上搜得到,下面再提供我项目的最基本设置,供大家参考:

http://pan.baidu.com/s/1c2FmSLU
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息