SpringBoot問題(Tomcat啟動失敗)


 

解決方案 1:

如果用的自己的Tomcat 部署項目 則要:

org.springframework.boot
spring-boot-starter-tomcat
provided //這就是讓內嵌的tomcat失效

所以 啟動會報tomcat 異常

而開發階段我們用的是內嵌的 所以要 :

org.springframework.boot
spring-boot-starter-tomcat

解決方案 2:

其次 : 這是我這次出錯的原因:
對springboot的依賴必須放在最前面!否則Springboot的內嵌tomcat無法啟動!

必須放在 最前面 才可以 否則還會有一些什么jar沖突 之類的奇怪的異常

附帶 SpringBoot war包運行的 方式 :
1.首先 讓內嵌的 tomcat 失效
2.繼承SpringBootServletInitializer

public class MyApplication extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(MyApplication.class);
}

public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args);
}
}

ServletInitializer是Servlet初始化器,意思是當本應用作為tomcat的一個webapp時,就調用configure函數,這是tomcat容器調用的,這時整個應用就相當於Servlet。
當作為SpringApplication運行時,會執行main函數,但是不會執行上面的configure函數

建議 : 無論 jar 還是 war 都可以采用這種方式 !



免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM