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

来源:互联网 发布:程序员 大学 选课 编辑:程序博客网 时间:2024/06/05 11:48

@(环境配置)

摘要

这篇主要是记录自己使用 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

0 0
原创粉丝点击