最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

spring boot啟動出現(xiàn)Unable to start ServletWebServerApplicationContext due to missing ServletWebServer錯誤解決

 更新時間:2024年10月21日 09:33:01   作者:angelasp  
在使用SpringBoot時,啟動報錯可能源于多種原因,錯誤提示為缺少ServletWebServerFactory bean,初步分析可能是缺少spring-boot-starter-web依賴或@EnableAutoConfiguration注解,感興趣的可以了解一下

報錯原因    

今天拉下了一個新的spring boot工程,啟動時出現(xiàn)了Unable to start web server; nested exception is org.springframework.context.ApplicationContextException: Unable to start ServletWebServerApplicationContext due to missing ServletWebServerFactory bean.這個異常。在網(wǎng)上搜索這個錯誤,有幾種說法。

說法一:是因為缺少一個spring-boot-starter-web依賴。檢查pom文件,發(fā)現(xiàn)這個依賴已經(jīng)被引入了,所以不是這個問題。

說法二:是沒有添加@EnableAutoConfiguration這個注解。但是在啟動類中已經(jīng)有@SpringBootApplication這個注解了,這個注解已經(jīng)包含了@EnableAutoConfiguration注解,所以也不是這個原因,那么到底是什么原因呢。

發(fā)現(xiàn)問題

可見是在調(diào)用getWebServerFactory()方法時候發(fā)生錯誤,沒有找到ServletWebServerFactory這個bean,說明在sping容器啟動時沒有將其注冊進去,缺少相關(guān)依賴。沒有對應(yīng)的servelt容器,工程當(dāng)然也就啟動不起來。這里多講一下,springboot工程會通過@EnableAutoConfiguration這個注解去拉去默認(rèn)配置,該注解通過@Import注解導(dǎo)入了AutoConfigurationImportSelector類。其實這個類,就是導(dǎo)入通過加載配置文件,加載了很多工廠方法的配置類。最終會加載 META-INF/spring.factories這些文件,通過這些文件完成自動裝配。@Import注解加載了tomcat,jetty,undertow三個web服務(wù)器的配置類。由于沒有導(dǎo)入jetty和undertow的相關(guān)jar包,這兩個類實例的不會真正的加載。到這里分析,為什么會缺少相應(yīng)的servlet容器?springboot不默認(rèn)加載了tomcat容器嗎,因為tomcat的相關(guān)jar包已經(jīng)在spring-boot-starter-web中引入了,按照之前我們的分析,實際上被加載的容器應(yīng)該是tomcat,為什么還會找不到呢?

那么此時我們要分析一下整個工程的依賴情況,看tomcat相關(guān)jar包是否被真實的引入。使用mvn dependency:tree命令,對工程進行依賴分析,定位到居然無tomcat相關(guān)依賴。

此時可以發(fā)現(xiàn)pom.xml文件中,居然把tomcat排除了,那我排除的去掉即可:

        <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>

解決方法

去掉排除設(shè)置:

        <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>

將pom中的<exclusions></exclusions>或者整個注釋掉,重新編譯測試和運行。重新啟動工程,啟動成功。

到此這篇關(guān)于spring boot啟動出現(xiàn)Unable to start ServletWebServerApplicationContext due to missing ServletWebServer錯誤解決的文章就介紹到這了,更多相關(guān)spring boot啟動出現(xiàn)錯誤解內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 如何基于java實現(xiàn)解壓ZIP TAR等文件

    如何基于java實現(xiàn)解壓ZIP TAR等文件

    這篇文章主要介紹了如何基于java實現(xiàn)解壓ZIP TAR等文件,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-07-07
  • ClassLoader雙親委派模式作用詳解

    ClassLoader雙親委派模式作用詳解

    這篇文章主要為大家介紹了ClassLoader雙親委派模式作用詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2022-10-10
  • 啟動Tomcat時出現(xiàn)大量亂碼的解決方法

    啟動Tomcat時出現(xiàn)大量亂碼的解決方法

    今天給大家?guī)淼氖顷P(guān)于Java的相關(guān)知識,文章圍繞著啟動Tomcat時出現(xiàn)大量亂碼的解決方法展開,文中有非常詳細的介紹及圖文示例,需要的朋友可以參考下
    2021-06-06
  • SpringBoot 導(dǎo)出數(shù)據(jù)生成excel文件返回方式

    SpringBoot 導(dǎo)出數(shù)據(jù)生成excel文件返回方式

    這篇文章主要介紹了SpringBoot 導(dǎo)出數(shù)據(jù)生成excel文件返回方式,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Restful傳遞數(shù)組參數(shù)及注解大全

    Restful傳遞數(shù)組參數(shù)及注解大全

    這篇文章主要介紹了Restful傳遞數(shù)組參數(shù)及注解大全的相關(guān)資料,需要的朋友可以參考下
    2015-12-12
  • Java開發(fā)崗位面試被問到嵌套類怎么辦

    Java開發(fā)崗位面試被問到嵌套類怎么辦

    本篇文章主要介紹了深入理解Java嵌套類和內(nèi)部類,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-07-07
  • SpringBoot整合flyway實現(xiàn)步驟解析

    SpringBoot整合flyway實現(xiàn)步驟解析

    這篇文章主要介紹了SpringBoot整合flyway實現(xiàn)步驟解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2020-08-08
  • springboot集成mybatisplus實例詳解

    springboot集成mybatisplus實例詳解

    這篇文章主要介紹了springboot集成mybatisplus實例詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下
    2019-09-09
  • mybatis執(zhí)行insert返回id實現(xiàn)詳解

    mybatis執(zhí)行insert返回id實現(xiàn)詳解

    MyBatis插入操作默認(rèn)返回受影響行數(shù),需通過useGeneratedKeys+keyProperty或selectKey獲取主鍵ID,確保主鍵為自增或序列且屬性名匹配,下面就來具體介紹一下
    2025-07-07
  • Java模擬實現(xiàn)QQ三方登錄(單點登錄2.0)

    Java模擬實現(xiàn)QQ三方登錄(單點登錄2.0)

    這篇文章主要為大家詳細介紹了Java模擬實現(xiàn)QQ三方登錄,單點登錄2.0,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-06-06

最新評論

墨玉县| 嘉祥县| 阿图什市| 灵武市| 佛教| 确山县| 民勤县| 开阳县| 东阿县| 竹北市| 建始县| 渝中区| 穆棱市| 永定县| 灵台县| 宽城| 顺义区| 如东县| 新建县| 平和县| 胶南市| 灌阳县| 龙山县| 永春县| 德昌县| 中牟县| 兴山县| 偏关县| 察隅县| 共和县| 丰县| 临汾市| 紫阳县| 璧山县| 杭州市| 玉门市| 天长市| 丹东市| 宝鸡市| 雷波县| 调兵山市|