springBoot啟動(dòng)輸出三行日志控制臺(tái)自動(dòng)停止操作
springBoot啟動(dòng)輸出三行日志控制臺(tái)自動(dòng)停止
在https://start.spring.io/(官網(wǎng))快速創(chuàng)建的springBoot工程,導(dǎo)入到myeclipse中后,啟動(dòng)后自動(dòng)結(jié)束了。
pom.xml:
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>net.xiaof</groupId> <artifactId>springboot_day01</artifactId> <version>0.0.1-SNAPSHOT</version> <packaging>war</packaging> <name>springboot_day01</name> <description>springboot_day01 project for Spring Boot</description> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent> <properties> <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
注:此版本為spring-boot 2.2.2。
啟動(dòng)類StartApplication.java:
package net.xiaof.boot; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class StartApplication { public static void main(String[] args) { SpringApplication.run(StartApplication.class, args); System.out.println("==================================================================="); System.out.println("(◕ˇ∀ˇ◕) springboot started "); System.out.println("==================================================================="); } }
啟動(dòng)console如下:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v2.0.1.RELEASE)2019-12-17 22:55:44.874 INFO 13248 --- [ main] net.xiaof.boot.StartApplication : Starting StartApplication on XIAOHU-WIN10 with PID 13248 (D:\MyEclipse_2017_workspaces\springboot_day01\target\classes started by XIAO in D:\MyEclipse_2017_workspaces\springboot_day01)
2019-12-17 22:55:44.876 INFO 13248 --- [ main] net.xiaof.boot.StartApplication : No active profile set, falling back to default profiles: default
2019-12-17 22:55:47.117 INFO 13248 --- [ main] net.xiaof.boot.StartApplication : Started StartApplication in 2.479 seconds (JVM running for 2.869)
然后Console自動(dòng)停止了。
解決方法:
建議降低版本,更換為spring-boot 2.0.1。
SpringBoot啟動(dòng)項(xiàng)目后自動(dòng)關(guān)閉,日志打印"Stopping Service"
問題描述:
Java -jar jar包,啟動(dòng)springboot項(xiàng)目,在還沒啟動(dòng)完成,日志打印出“Stopping Service”,查看jar進(jìn)程存在,但訪問服務(wù)不通,日志無報(bào)錯(cuò)。
問題排查:
嘗試了各種方式,重新打包,修改tomcat為外部tomcat,修改端口等等都不起作用,依然存在問題。
后來猜測報(bào)錯(cuò)了,只是因?yàn)槿罩緵]有打印出來,又去修改日志級別及其他配置,發(fā)現(xiàn)依然看不到問題。
后來嘗試修改springboot的啟動(dòng)main方法,
原(無報(bào)錯(cuò)日志):
public static void main(String[] args) { SpringApplication.run(TestApp.class, args); }
修改后(無報(bào)錯(cuò)日志):
public static void main(String[] args) { Try{ SpringApplication.run(TestApp.class, args); }catch(Exception e){ e.printStackTrace(); } }
最終修改(有報(bào)錯(cuò)日志):
public static void main(String[] args) { Try{ SpringApplication.run(TestApp.class, args); }catch(Exception e){ LOGGER.error(“啟動(dòng)報(bào)錯(cuò)”,e); } }
問題分析:
SpringBoot 啟動(dòng)main方法要自己tryCatch一下,打印日志,建議最好使用Logger去輸出日志,盡量不要輸出到控制臺(tái),因?yàn)楹芏喙救罩九渲貌蛔屳敵龅娇刂婆_(tái),故有問題的時(shí)候也不會(huì)有日志。
能看到報(bào)錯(cuò)日志,那么問題排查就很簡單了。
(最終是因?yàn)镸Q配置有問題導(dǎo)致啟動(dòng)報(bào)錯(cuò))
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Spring Boot 使用WebAsyncTask異步返回結(jié)果
這篇文章主要介紹了Spring Boot 使用WebAsyncTask異步返回結(jié)果的相關(guān)資料,需要的朋友可以參考下2018-02-02jvm之java類加載機(jī)制和類加載器(ClassLoader)的用法
這篇文章主要介紹了jvm之java類加載機(jī)制和類加載器(ClassLoader)的用法,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-09-09使用Java判定一個(gè)數(shù)值是否在指定的開閉區(qū)間范圍內(nèi)
這篇文章主要給大家介紹了關(guān)于使用Java判定一個(gè)數(shù)值是否在指定的開閉區(qū)間范圍內(nèi)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用Java具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2022-09-09Apache?Arrow?Parquet存儲(chǔ)與使用
這篇文章主要為大家介紹了Apache?Arrow?Parquet存儲(chǔ)與使用原理詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-08-08Java并發(fā)編程中的synchronized關(guān)鍵字詳細(xì)解讀
這篇文章主要介紹了Java并發(fā)編程中的synchronized關(guān)鍵字詳細(xì)解讀,在Java早期版本中,synchronized 屬于 重量級鎖,效率低下,這是因?yàn)楸O(jiān)視器鎖(monitor)是依賴于底層的操作系統(tǒng)的Mutex Lock來實(shí)現(xiàn)的,Java 的線程是映射到操作系統(tǒng)的原生線程之上的,需要的朋友可以參考下2023-12-12Spring Boot和Thymeleaf整合結(jié)合JPA實(shí)現(xiàn)分頁效果(實(shí)例代碼)
這篇文章主要介紹了Spring Boot和Thymeleaf整合結(jié)合JPA實(shí)現(xiàn)分頁效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-02-02idea perttier的使用和縮進(jìn)改為4不成功問題及解決
這篇文章主要介紹了idea perttier的使用和縮進(jìn)改為4不成功問題及解決,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-05-05