欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

SpringBoot項(xiàng)目打包發(fā)布到外部tomcat會(huì)遇到什么問(wèn)題

小編給大家分享一下SpringBoot項(xiàng)目打包發(fā)布到外部tomcat會(huì)遇到什么問(wèn)題,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

成都創(chuàng)新互聯(lián)成立以來(lái)不斷整合自身及行業(yè)資源、不斷突破觀念以使企業(yè)策略得到完善和成熟,建立了一套“以技術(shù)為基點(diǎn),以客戶需求中心、市場(chǎng)為導(dǎo)向”的快速反應(yīng)體系。對(duì)公司的主營(yíng)項(xiàng)目,如中高端企業(yè)網(wǎng)站企劃 / 設(shè)計(jì)、行業(yè) / 企業(yè)門(mén)戶設(shè)計(jì)推廣、行業(yè)門(mén)戶平臺(tái)運(yùn)營(yíng)、手機(jī)APP定制開(kāi)發(fā)成都做手機(jī)網(wǎng)站、微信網(wǎng)站制作、軟件開(kāi)發(fā)、成都棕樹(shù)機(jī)房等實(shí)行標(biāo)準(zhǔn)化操作,讓客戶可以直觀的預(yù)知到從成都創(chuàng)新互聯(lián)可以獲得的服務(wù)效果。

先說(shuō)遇到問(wèn)題的情景:

初次嘗試使用spring boot框架寫(xiě)了個(gè)小web項(xiàng)目,在Intellij IDEA中能正常啟動(dòng)運(yùn)行。使用maven 運(yùn)行install,生成war包,發(fā)布到本機(jī)的tomcat下,出現(xiàn)異常,主要的異常信息是  .......LifeCycleException。經(jīng)各種搜索,找到答案。

spring boot因?yàn)閮?nèi)嵌tomcat容器,所以可以通過(guò)打包為jar包的方法將項(xiàng)目發(fā)布,但是如何將spring boot項(xiàng)目打包成可發(fā)布到tomcat中的war包項(xiàng)目呢?

1. 既然需要打包成war包項(xiàng)目,首先需要在pom.xml文件中修改打包類型,將spring boot默認(rèn)的<packaging>jar</packaging>修改為<packaging>war</packaging>形式;

2. 其次spring boot的web項(xiàng)目中內(nèi)嵌tomcat服務(wù)器,所以如果我們想要發(fā)布war包到tomcat項(xiàng)目,要講spring boot中內(nèi)嵌的tomcat包依賴排除,不然產(chǎn)生沖突,打開(kāi)下面代碼中的注釋即可。

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
  <!--
  <exclusions>
    <exclusion>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
    </exclusion>
  </exclusions>
  -->
</dependency>

有一點(diǎn)想說(shuō)的是,如果本地開(kāi)發(fā)的時(shí)候依然想要使用spring boot內(nèi)嵌tomcat進(jìn)行調(diào)試,添加如下依賴即可;

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

3. spring boot發(fā)布jar包web程序的入口是main函數(shù)所在的類,使用@SpringBootApplication注解。但是如果war包發(fā)布至tomcat,需要增加 SpringBootServletInitializer 子類,并覆蓋它的 configure 方法,或者直接將main函數(shù)所在的類繼承 SpringBootServletInitializer 子類,并覆蓋它的 configure 方法。代碼舉例如下,

@SpringBootApplication
public class DemoApplication extends SpringBootServletInitializer {
   
  @Override
  protected SpringApplicationBuilder configure(
      SpringApplicationBuilder application) {
    return application.sources(DemoApplication.class);
  }
 
   
  public static void main(String[] args) {
    SpringApplication.run(DemoApplication.class, args);
  }
}

以上就完成了spring boot項(xiàng)目打包war包的所有步驟,可以發(fā)布至tomcat7及其以上版本。

最后還有最重要的一點(diǎn),如果你本機(jī)的tomcat版本和  springboot自動(dòng)集成的8.0版本不一致。也會(huì)出問(wèn)題,解決辦法 :

我本地的Tomcat版本是8.0.28, 而服務(wù)器上的Tomcat是7.0.69。 我在本地下了個(gè)Tomcat7.0.70部署也報(bào)同樣錯(cuò)誤。更加確定問(wèn)題跟Tomcat版本有關(guān)。經(jīng)過(guò)多方查找資料,最后在Stackoverflow上看到一個(gè)老外說(shuō)SpringBoot默認(rèn)Servlet容器是基于Tomcat8的

在打好的war包中確實(shí)發(fā)現(xiàn)了Tomcat相關(guān)jar包,而且是Tomcat8的,拿Tomcat8的embed包在Tomcat7下面那肯定是不能用啊 

SpringBoot項(xiàng)目打包發(fā)布到外部tomcat會(huì)遇到什么問(wèn)題

要支持低版本Tomcat需要在maven中指定Tomat版本,配置如下:

<properties>
  <tomcat.version>7.0.69</tomcat.version>
</properties>

然后依賴中加上(這個(gè)其實(shí)不加也行, 官方文檔是加上的)

<dependency>
  <groupId>org.apache.tomcat</groupId>
  <artifactId>tomcat-juli</artifactId>
  <version>${tomcat.version}</version>
</dependency>

加上以后試了下,果然是沒(méi)問(wèn)題了??戳讼聎ar包中的lib目錄,確實(shí)已經(jīng)變成Tomcat7的包了 

SpringBoot項(xiàng)目打包發(fā)布到外部tomcat會(huì)遇到什么問(wèn)題

但是我還是有點(diǎn)疑惑, 這樣配置打成包豈不是換個(gè)Tomcat版本就要重新打次包? 既然是由于SpringBoot內(nèi)部的Servlet容器造成了這個(gè)限制, 那我不用行不行? 又查了很多資料, 還真有辦法!

<!-- 打war包時(shí)加入此項(xiàng), 告訴spring-boot tomcat相關(guān)jar包用外部的,不要打進(jìn)去 -->
<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-tomcat</artifactId>
  <scope>provided</scope>
</dependency>

以上是“SpringBoot項(xiàng)目打包發(fā)布到外部tomcat會(huì)遇到什么問(wèn)題”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道!

當(dāng)前名稱:SpringBoot項(xiàng)目打包發(fā)布到外部tomcat會(huì)遇到什么問(wèn)題
文章源于:http://aaarwkj.com/article2/igdsic.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站導(dǎo)航、建站公司、關(guān)鍵詞優(yōu)化、網(wǎng)站維護(hù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

成都app開(kāi)發(fā)公司
国产传媒免费在线播放| 偷窥偷拍原味一区二区三区| 国产亚洲精品久久久久久| 伊人不卡中文字幕在线一区| 人妻少妇久久久久久69| 18末年禁止观看免费软件| 国产区精品福利在线熟女| 国产999精品免费国产| 亚洲精品国产二区中文字幕| 亚洲美女高潮久久久久久久久| av永久天堂一区二区三区| 国产一区二区毛多内射| 亚洲国产精品一区二区成人| 国产人妖cd蜜雅丝袜美女| 日本成人午夜福利在线观看| 成人国产视频免费观看| 国产免费av剧情演绎| 蜜桃福利视频一区二区| 刘亦菲毛片一区二区三区| 欧美黄片在线免费观看| 日韩欧美中文字幕一区二区| 蜜臀av一区二区三区人妻| 四季一区二区三区av| 久久久精品免费中文视频| 欧美日韩国产一区二区的| 日韩欧美啪啪一区二区| 亚洲男人av天堂午夜在| 亚洲人妻一区二区三区久久精品| 在线不卡日本v二区| 欧美日韩亚洲中文国产| 黄片免费视频大全在线观看| 草嫩av一区二区三区| 九色综合狠狠综合久久| 日韩av亚洲一区二区三区| 亚洲精品精品一区二区| 成年人性生活网站视频| 国产成人av中文字暮在线| 亚洲一区二区三区精品乱码| 粉嫩国产精品一区二区| 丁香婷婷激情五月天综合| 97福利影院在线观看|