使用maven 創(chuàng)建 springmvc整合mybatis項(xiàng)目 踩過(guò)的坑

@(環(huán)境配置)

摘要

這篇主要是記錄自己使用 sts 使用maven搭建 springmvc整合mybatis項(xiàng)目過(guò)程和踩過(guò)的一些坑:

  1. 項(xiàng)目目錄結(jié)構(gòu)問(wèn)題
  2. Dynamic Web2.3 和 Dynamic Web3.0 兼容問(wèn)題
  3. 各種文件存放目錄問(wèn)題

使用sts創(chuàng)建 maven項(xiàng)目

選擇 webapp 項(xiàng)目:

1.jpg

填寫項(xiàng)目信息:

2.jpg

創(chuàng)建后目錄如下:

3.png

真是有點(diǎn)坑啊暖眼,剛剛創(chuàng)建的最基本的maven項(xiàng)目,直接就報(bào)錯(cuò)贝润,而且大家可以看到浮毯,項(xiàng)目目錄是又問(wèn)題的绘迁,現(xiàn)在我們來(lái)解決下面兩個(gè)問(wèn)題:

項(xiàng)目目錄結(jié)構(gòu)問(wèn)題

這個(gè)問(wèn)題很好解決绒极,主要是因?yàn)?jdk 導(dǎo)致的与柑,我們可以右鍵項(xiàng)目->build path-> configure build path

4.png

編輯項(xiàng)目使用的jdk環(huán)境為自己安裝的jdk環(huán)境躲叼,我這里安裝的是 java8.0, 所以選擇 java1.8.

5.png

然后 finish -> applay 之后芦缰,可以看到項(xiàng)目目錄結(jié)構(gòu)正常了:

6.png

解決錯(cuò)誤

錯(cuò)誤是因?yàn)闆](méi)有引入包導(dǎo)致的,我們可以直接引入 servlet 的包就可以解決:
在 pom.xml 文件中引入 dependency, 解決問(wèn)題

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

Web2.3 轉(zhuǎn) Web3.0 問(wèn)題

這個(gè)問(wèn)題的來(lái)源主要是因?yàn)槲业?code>web.xml 默認(rèn)是 2.3的枫慷,但是現(xiàn)在基本上都使用 3.0 的配置了让蕾,但是 sts創(chuàng)建的基本webapp還是 2.3浪规,就比較坑爹了。網(wǎng)上看了很多方法探孝,需要修改各種配置文件笋婿,太過(guò)于麻煩,這里提供一個(gè)簡(jiǎn)單的方法:
項(xiàng)目屬性 -> project facets:

8.png

可以看到當(dāng)前狀態(tài)是 web 2.3 以及 java 1.5:

  1. 先將 java1.5 修改為 自己安裝的 jdk 版本顿颅,我這里是java1.8缸濒,可直接修改
  2. 但是如果此時(shí)你直接修改 Dynamic web module 為 3.0 的話,會(huì)報(bào)錯(cuò):
9.png

所以我們先將它 取消勾選粱腻,點(diǎn)擊ok庇配,

10.png

然后再次進(jìn)到這里,勾選它:

11.png

此時(shí)可以直接點(diǎn)擊OK栖疑,也可以選擇下面的further configuration avaliable:

12.png
  • 可以保持默認(rèn)讨永,然后就會(huì)創(chuàng)建WebContent 目錄,以及勾選 web.xml 文件遇革。
  • 我這里提供另外一種方法卿闹,將 WebContent 修改為:src/main/webapp,大家可能就明白了萝快,這個(gè)為了兼容 2.3 的配置文件锻霎,這樣我就不需要?jiǎng)h除原來(lái)的配置文件了。
13.png

兩種方法都可以揪漩,我選擇的是后者旋恼。
修改到這里,項(xiàng)目居然有錯(cuò):

14.png

看一下 probleams:

15.png

是因?yàn)?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 更新項(xiàng)目,又出錯(cuò)了:

16.png

還記得剛剛開(kāi)始我們修改自己的項(xiàng)目jdk為1.8昂勒,但是這里為什么還是1.5呢蜀细?
我們需要再在 pom.xml 文件中添加 一個(gè) 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 更新項(xiàng)目,問(wèn)題終于解決完了:

17.png

最后是關(guān)于文件存放目錄的問(wèn)題

這里直接截個(gè)圖:

18.png

需要說(shuō)明的是戈盈,在maven打包過(guò)程中奠衔,會(huì)將所有的這些文件都打到war包中,包括 web.xml 等一些文件塘娶。
我這里想強(qiáng)調(diào)的是归斤,在 web3.0項(xiàng)目中,mapping文件夾不能再存放在 src/main/java 下刁岸, src/main/java 下只會(huì)把 java文件打包脏里,而在2.3中,所有 src/main/java 下的文件虹曙,包括配置文件迫横,都會(huì)被打包鸦难,這點(diǎn)需要注意。 所以我們需要將 mapping 文件夾放到 resources 目錄下员淫。

代碼下載:

其他的沒(méi)什么好說(shuō)的了合蔽,大家可以在網(wǎng)上搜得到,下面再提供我項(xiàng)目的最基本設(shè)置介返,供大家參考:

http://pan.baidu.com/s/1c2FmSLU

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末拴事,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子圣蝎,更是在濱河造成了極大的恐慌刃宵,老刑警劉巖,帶你破解...
    沈念sama閱讀 217,826評(píng)論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件徘公,死亡現(xiàn)場(chǎng)離奇詭異牲证,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)关面,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,968評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門坦袍,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人等太,你說(shuō)我怎么就攤上這事捂齐。” “怎么了缩抡?”我有些...
    開(kāi)封第一講書人閱讀 164,234評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵奠宜,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我瞻想,道長(zhǎng)压真,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,562評(píng)論 1 293
  • 正文 為了忘掉前任蘑险,我火速辦了婚禮滴肿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘漠其。我一直安慰自己嘴高,他們只是感情好竿音,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,611評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布和屎。 她就那樣靜靜地躺著,像睡著了一般春瞬。 火紅的嫁衣襯著肌膚如雪柴信。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,482評(píng)論 1 302
  • 那天宽气,我揣著相機(jī)與錄音随常,去河邊找鬼潜沦。 笑死,一個(gè)胖子當(dāng)著我的面吹牛绪氛,可吹牛的內(nèi)容都是我干的唆鸡。 我是一名探鬼主播,決...
    沈念sama閱讀 40,271評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼枣察,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼争占!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起序目,我...
    開(kāi)封第一講書人閱讀 39,166評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤臂痕,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后猿涨,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體握童,經(jīng)...
    沈念sama閱讀 45,608評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,814評(píng)論 3 336
  • 正文 我和宋清朗相戀三年叛赚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了澡绩。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,926評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡俺附,死狀恐怖英古,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情昙读,我是刑警寧澤召调,帶...
    沈念sama閱讀 35,644評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站蛮浑,受9級(jí)特大地震影響唠叛,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜沮稚,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,249評(píng)論 3 329
  • 文/蒙蒙 一艺沼、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蕴掏,春花似錦障般、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,866評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至即供,卻和暖如春定拟,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背逗嫡。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,991評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工青自, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留株依,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,063評(píng)論 3 370
  • 正文 我出身青樓延窜,卻偏偏與公主長(zhǎng)得像恋腕,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子逆瑞,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,871評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容