Tomcat下部署SpringBoot

SpringBoot默認(rèn)支持Tomcat7及以上版本(SpringBoot默認(rèn)支持servlet3.1版本及以上鹤盒,Tomcat6只支持到servlet2.5)

測(cè)試環(huán)境:jdk1.8 + tomcat7+SpringBoot2.1.0.M1 ?释牺、 jdk1.8+ tomcat8.5+SpringBoot2.1.0.M1


1、在pom.xml文件中竹挡,把打包形式j(luò)ar改為war

<packaging>war</packaging>


2、在pom.xml文件下去除內(nèi)置tomcat

這里配置有兩種方法立膛,一種是

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId> ? ? ?<!-- 移除嵌入式tomcat插件 --> ? ?<exclusions> ? ? ? ?<exclusion> ? ? ? ? ? ?<groupId>org.springframework.boot</groupId> ? ? ? ? ? ?<artifactId>spring-boot-starter-tomcat</artifactId> ? ? ? ?</exclusion> ? ?</exclusions></dependency>

這種方法會(huì)直接移除內(nèi)置tomcat揪罕,即本地開發(fā)也需要用自己配置的tomcat才行,用main方法運(yùn)行會(huì)報(bào)錯(cuò)宝泵『脝可參考最后一步進(jìn)行修改,使用自己配置的tomcat進(jìn)行開發(fā)調(diào)試儿奶;

另一種方式是坎怪,添加

 ? ? ? ?<dependency> ? ? ? ? ? ?<groupId>org.springframework.boot</groupId> ? ? ? ? ? ?<artifactId>spring-boot-starter-tomcat</artifactId> ? ? ? ? ? ?<scope>provided</scope> ? ? ? ?</dependency>

這種方法依然可以使用內(nèi)置的tomcat進(jìn)行開發(fā)調(diào)試。


3廓握、添加servlet-api的依賴

添加servlet-api有兩種方式搅窿,選其一即可

<dependency> ? ?<groupId>javax.servlet</groupId> ? ?<artifactId>javax.servlet-api</artifactId> ? ?<version>3.1.0</version> ? ?<scope>provided</scope></dependency>
<dependency> ? ?<groupId>org.apache.tomcat</groupId> ? ?<artifactId>tomcat-servlet-api</artifactId> ? ?<version>8.0.36</version> ? ?<scope>provided</scope></dependency>


4、修改啟動(dòng)類

原先啟動(dòng)SpringBoot是通過(guò)main方法啟動(dòng)的隙券,現(xiàn)在需要讓啟動(dòng)類繼承SpringBootServletInitializer男应,并重寫configure方法,如


5娱仔、在pom.xml的build中添加項(xiàng)目打包后的名稱


6沐飘、打包部署

(1)、命令行打包

以命令行的形式進(jìn)入到項(xiàng)目的目錄下牲迫,輸入如下命令(需在環(huán)境變量中配置maven路徑)

mvn clean package

出現(xiàn)如下圖示即說(shuō)明打包成功


(2)耐朴、在eclipse中打包項(xiàng)目

右鍵點(diǎn)擊項(xiàng)目 - Run as - Maven build ,在彈窗中的Goals輸入package盹憎,點(diǎn)擊Run

即可自動(dòng)打包筛峭。打包完成界面與命令行打包一致。


(3)陪每、部署

打包文件在項(xiàng)目路徑下的target目錄里面影晓,如

放置到tomcat的webapps目錄下,即可直接運(yùn)行檩禾,需要注意的是挂签,訪問(wèn)路徑需要加上項(xiàng)目名的路徑,如下圖


7盼产、eclipse中移除內(nèi)置tomcat饵婆,運(yùn)行項(xiàng)目可能遇到的問(wèn)題

在第二步的時(shí)候,如果采用第一種方法移除了內(nèi)置tomcat的話戏售,在項(xiàng)目中運(yùn)行時(shí)就需要選擇Run on server了侨核。然后選擇tomcat服務(wù)器(需tomcat7以上)草穆,這時(shí)候有可能會(huì)遇到下面的錯(cuò)誤。

出現(xiàn)這個(gè)錯(cuò)誤的解決方法是芹关,右鍵點(diǎn)擊項(xiàng)目 - properties - ?Project Facets 续挟,把Cloud Foundry Standalone Application的勾去掉紧卒。

接下去侥衬,就可以在eclipse中配置的tomcat上運(yùn)行項(xiàng)目了。


8跑芳、讓springboot支持tomcat6的方法

springboot要支持servlet2.5轴总,才可以在tomcat6中運(yùn)行,讓springboot支持servlet2.5需用到spring-boot-legacy博个,該插件目前只支持到springboot2.0.3版本怀樟。

測(cè)試環(huán)境:tomcat6 + jdk 1.8 +Springboot 1.5.9.RELEASE

(1)、pom.xml中新增插件

在上面1-5步配置完后盆佣,繼續(xù)配置pom.xml往堡。新增spring-boot-legacy依賴

<dependency> ? ?<groupId>org.springframework.boot</groupId> ? ?<artifactId>spring-boot-legacy</artifactId> ? ?<version>1.1.0.RELEASE</version></dependency>

(2)、在main目錄下新建webapp/WEB-INF/web.xml如下圖

(3)共耍、復(fù)制下面內(nèi)容到web.xml中虑灰,并配置啟動(dòng)類的位置

<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" ? ?xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" ? ?xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"> ? ?<context-param> ? ? ? ?<param-name>contextConfigLocation</param-name> ? ? ? ?<!-- 配置Application啟動(dòng)類的具體位置 ? ? ? ? 如啟動(dòng)類在com.example.DemoApplication.java,則配置如下 ? ? ? ?--> ? ? ? ?<param-value>com.example.DemoApplication</param-value> ? ?</context-param> ? ?<listener> ? ? ? ?<listener-class>org.springframework.boot.legacy.context.web.SpringBootContextLoaderListener</listener-class> ? ?</listener> ? ?<servlet> ? ? ? ?<servlet-name>appServlet</servlet-name> ? ? ? ?<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> ? ? ? ?<init-param> ? ? ? ? ? ?<param-name>contextAttribute</param-name> ? ? ? ? ? ?<param-value>org.springframework.web.context.WebApplicationContext.ROOT</param-value> ? ? ? ?</init-param> ? ? ? ?<load-on-startup>1</load-on-startup> ? ?</servlet> ? ?<servlet-mapping> ? ? ? ?<servlet-name>appServlet</servlet-name> ? ? ? ?<url-pattern>/</url-pattern> ? ?</servlet-mapping></web-app>

(4)痹兜、打包部署穆咐,參照上面第6步

到此,導(dǎo)出的war包即可在tomcat6中運(yùn)行字旭。
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末对湃,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子遗淳,更是在濱河造成了極大的恐慌拍柒,老刑警劉巖,帶你破解...
    沈念sama閱讀 210,978評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屈暗,死亡現(xiàn)場(chǎng)離奇詭異斤儿,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)恐锦,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,954評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門往果,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人一铅,你說(shuō)我怎么就攤上這事陕贮。” “怎么了潘飘?”我有些...
    開封第一講書人閱讀 156,623評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵肮之,是天一觀的道長(zhǎng)掉缺。 經(jīng)常有香客問(wèn)我,道長(zhǎng)戈擒,這世上最難降的妖魔是什么眶明? 我笑而不...
    開封第一講書人閱讀 56,324評(píng)論 1 282
  • 正文 為了忘掉前任,我火速辦了婚禮筐高,結(jié)果婚禮上搜囱,老公的妹妹穿的比我還像新娘。我一直安慰自己柑土,他們只是感情好蜀肘,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,390評(píng)論 5 384
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著稽屏,像睡著了一般扮宠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上狐榔,一...
    開封第一講書人閱讀 49,741評(píng)論 1 289
  • 那天坛增,我揣著相機(jī)與錄音,去河邊找鬼薄腻。 笑死收捣,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的被廓。 我是一名探鬼主播坏晦,決...
    沈念sama閱讀 38,892評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼嫁乘!你這毒婦竟也來(lái)了昆婿?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,655評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤蜓斧,失蹤者是張志新(化名)和其女友劉穎仓蛆,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體挎春,經(jīng)...
    沈念sama閱讀 44,104評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡看疙,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了直奋。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片能庆。...
    茶點(diǎn)故事閱讀 38,569評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖脚线,靈堂內(nèi)的尸體忽然破棺而出搁胆,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 34,254評(píng)論 4 328
  • 正文 年R本政府宣布渠旁,位于F島的核電站攀例,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏顾腊。R本人自食惡果不足惜粤铭,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,834評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望杂靶。 院中可真熱鬧梆惯,春花似錦、人聲如沸伪煤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,725評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)抱既。三九已至,卻和暖如春扁誓,著一層夾襖步出監(jiān)牢的瞬間防泵,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,950評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工蝗敢, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留捷泞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,260評(píng)論 2 360
  • 正文 我出身青樓寿谴,卻偏偏與公主長(zhǎng)得像锁右,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子讶泰,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,446評(píng)論 2 348

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

  • Spring Boot 參考指南 介紹 轉(zhuǎn)載自:https://www.gitbook.com/book/qbgb...
    毛宇鵬閱讀 46,773評(píng)論 6 342
  • 前言:學(xué)習(xí)SpringBoot不應(yīng)該直接就是開始使用SpringBoot,如果直接拿來(lái)用肯定會(huì)有很多人不是很明白特...
    CoderZS閱讀 74,776評(píng)論 10 217
  • 最近再研究springboot的原理??頗有收獲咏瑟,現(xiàn)在讓我分享一下springboot如何使用吧~ 想要解鎖更多新姿...
    tengshe789閱讀 5,991評(píng)論 4 94
  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn)痪署,斷路器码泞,智...
    卡卡羅2017閱讀 134,628評(píng)論 18 139
  • 2017年12月18日 星期一 晴 木禾: 今兒看到廣祥夫人孫老師的一篇文字,憂心忡忡狼犯。 倒不是我憂心忡忡余寥,而...
    木徒閱讀 158評(píng)論 0 0