springboot啟動不了也不報錯的問題及解決
springboot啟動不了也不報錯問題
公司用的springboot,隨著項目的不斷龐大,經(jīng)常會出現(xiàn)一些稀奇古怪的問題,其實多半是配置文件有問題,但是沒有錯誤提示信息,就很是難受,無從下手,以下列舉一些自己遇到的常見的問題處理辦法:
案例1
項目啟動,控制臺只打印了SPRING的日志,然后自動停止
如截圖所示:
這種什么錯誤信息都沒有,也是醉了,其實遇到這種情況,可以把啟動方法try catch起來即可在控制臺顯示錯誤信息
如圖所示:
接下來再啟動,就會看到錯誤信息了,筆者的錯誤是因為配置文件少了一些組件的配置,導(dǎo)致項目啟動的時候初始化組件的時候失敗了
案例2
啟動springboot項目,項目啟動日志也在正常的打印控制臺,但是刷著刷著,日志停止了,也沒有任何錯誤信息,壓根不知道哪里的問題,所以我們要首先解決錯誤日志輸出不了的問題,這樣才能定位問題然后處理
日志截圖如下:
看到?jīng)],沒有任何有用信息啊,但是就是啟動了一會然后自動停止了。
具體debug找原因的過程我就不說了,其實根本原因就是log4j和common-logs這倆日志包沖突了,解決方法呢,有兩種,
第一:解決沖突,排除掉slf4j,common-logs任意一方,spring使用slf4j,那可以排除掉common-logs
第二:打通log4j和common-logs,讓它們合二為一即可!maven依賴如下所示:
<dependency> ? ? ?<groupId>org.slf4j</groupId> ? ? ?<artifactId>jcl-over-slf4j</artifactId> </dependency>
這個依賴可以將log4j輸出到slf4j,從而從sl4j輸出,問題完美解決!有了錯誤提示,那解決問題就容易多啦!
springboot啟動失敗不報錯,但是報這個No active profile set, falling back to default profiles: default
首先報No active profile set, falling back to default profiles: default是沒有配置spring.profiles.active:
解決方案引入對應(yīng)的文件,在application.yml中引入:
spring: profiles: active: dev
接下來在對應(yīng)的目錄中創(chuàng)建對應(yīng)的不同環(huán)境的yml文件,如下圖所示:
此時切換至開發(fā)環(huán)境,項目運(yùn)行讀取的是application-dev.yml配置,如果需要讀取生產(chǎn)環(huán)境,將application.yml中的active:dev改成prod即可。如果需要添加更多環(huán)境配置。按此操作即可。
springboot啟動失敗不報錯
顯示情況如下所示
. ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.4) 2022-12-13 10:18:52.858 INFO 14232 --- [ main] c.k.s.SpringbootDemoApplication : Starting SpringbootDemoApplication using Java 1.8.0_202 on 2F-KF03 with PID 14232 (D:\i-word\springboot-demo\target\classes started by Administrator in D:\i-word\springboot-demo) 2022-12-13 10:18:52.860 INFO 14232 --- [ main] c.k.s.SpringbootDemoApplication : No active profile set, falling back to 1 default profile: "default" 2022-12-13 10:18:53.143 INFO 14232 --- [ main] c.k.s.SpringbootDemoApplication : Started SpringbootDemoApplication in 0.496 seconds (JVM running for 0.992) Process finished with exit code 0
這里是沒有引入spring-boot-starter-web所導(dǎo)致,引入對應(yīng)pom文件即可解決問題
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
總結(jié)
以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java異步線程中的CompletableFuture與@Async詳解
這篇文章主要介紹了Java異步線程中的CompletableFuture與@Async詳解,CompletableFuture是java中提供的一個異步執(zhí)行類,@Async是Spring提供的異步執(zhí)行方法,當(dāng)調(diào)用方法單獨(dú)開啟一個線程進(jìn)行調(diào)用,需要的朋友可以參考下2024-01-01解決spirngboot連接redis報錯:READONLY?You?can‘t?write?against?
docker部署的redis,springboot基本每天來連redis都報錯:READONLY?You?can't?write?against?a?read?only?replica,重啟redis后,可以正常連接。但是每天都重啟redis,不現(xiàn)實,也很麻煩,今天給大家分享解決方式,感興趣的朋友一起看看吧2023-06-06spring?retry方法調(diào)用失敗重試機(jī)制示例解析
這篇文章主要為大家介紹了spring?retry方法調(diào)用失敗重試機(jī)制的示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步2022-03-03基于JAVA中Jersey處理Http協(xié)議中的Multipart的詳解
之前在基于C#開發(fā)彩信用最原始的StringBuilder拼接字符串方式處理過Multipart?,F(xiàn)在在做一個項目的時候,由于之前的技術(shù)路線都是使用Jersey處理Http這塊,為了保持技術(shù)路線一致,研究了一下如何使用Jersey處理Http協(xié)議中的Multipart2013-05-05Spring Boot中定時任務(wù)Cron表達(dá)式的終極指南最佳實踐記錄
本文詳細(xì)介紹了SpringBoot中定時任務(wù)的實現(xiàn)方法,特別是Cron表達(dá)式的使用技巧和高級用法,從基礎(chǔ)語法到復(fù)雜場景,從快速啟用到調(diào)試驗證,再到常見問題的解決,涵蓋了定時任務(wù)開發(fā)的全過程,感興趣的朋友一起看看吧2025-03-03Java中的ReentrantReadWriteLock實現(xiàn)原理詳解
這篇文章主要介紹了Java中的ReentrantReadWriteLock實現(xiàn)原理詳解,讀寫鎖實現(xiàn)了接口ReadWriteLock,適合于讀多寫少的情況,支持公平鎖和非公平鎖,支持可沖入(進(jìn)入讀鎖后可再進(jìn)入讀鎖,進(jìn)入寫鎖后可再進(jìn)入寫鎖和讀鎖),需要的朋友可以參考下2024-01-01