springBoot启动输出三行日志控制台自动停止操作

 更新时间:2021年08月09日 09:05:19   作者:HaleyTiger  
这篇文章主要介绍了springBoot启动输出三行日志控制台自动停止操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

springBoot启动输出三行日志控制台自动停止

在https://start.spring.io/(官网)快速创建的springBoot工程,导入到myeclipse中后,启动后自动结束了。

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。

启动类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("===================================================================");
 }
}

启动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自动停止了。

解决方法:

建议降低版本,更换为spring-boot 2.0.1。

SpringBoot启动项目后自动关闭,日志打印"Stopping Service"

问题描述:

Java -jar jar包,启动springboot项目,在还没启动完成,日志打印出“Stopping Service”,查看jar进程存在,但访问服务不通,日志无报错。

问题排查:

尝试了各种方式,重新打包,修改tomcat为外部tomcat,修改端口等等都不起作用,依然存在问题。

后来猜测报错了,只是因为日志没有打印出来,又去修改日志级别及其他配置,发现依然看不到问题。

后来尝试修改springboot的启动main方法,

原(无报错日志):

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

修改后(无报错日志):

        public static void main(String[] args) { 
            Try{
                  SpringApplication.run(TestApp.class, args);
            }catch(Exception e){
                e.printStackTrace();
            }
        }

最终修改(有报错日志):

        public static void main(String[] args) {
            Try{
                  SpringApplication.run(TestApp.class, args);
            }catch(Exception e){
                LOGGER.error(“启动报错”,e);
            }
        }

问题分析:

SpringBoot 启动main方法要自己tryCatch一下,打印日志,建议最好使用Logger去输出日志,尽量不要输出到控制台,因为很多公司日志配置不让输出到控制台,故有问题的时候也不会有日志。

能看到报错日志,那么问题排查就很简单了。

(最终是因为MQ配置有问题导致启动报错)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Spring Boot 使用WebAsyncTask异步返回结果

    Spring Boot 使用WebAsyncTask异步返回结果

    这篇文章主要介绍了Spring Boot 使用WebAsyncTask异步返回结果的相关资料,需要的朋友可以参考下
    2018-02-02
  • 详解Java设计模式编程中的中介者模式

    详解Java设计模式编程中的中介者模式

    这篇文章主要介绍了Java设计模式编程中的中介者模式,文中举了典型的同事类与中介者类的例子来解释说明,需要的朋友可以参考下
    2016-02-02
  • jvm之java类加载机制和类加载器(ClassLoader)的用法

    jvm之java类加载机制和类加载器(ClassLoader)的用法

    这篇文章主要介绍了jvm之java类加载机制和类加载器(ClassLoader)的用法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-09-09
  • 使用Java判定一个数值是否在指定的开闭区间范围内

    使用Java判定一个数值是否在指定的开闭区间范围内

    这篇文章主要给大家介绍了关于使用Java判定一个数值是否在指定的开闭区间范围内的相关资料,文中通过实例代码介绍的非常详细,对大家学习或者使用Java具有一定的参考学习价值,需要的朋友可以参考下
    2022-09-09
  • Apache Arrow Parquet存储与使用

    Apache Arrow Parquet存储与使用

    这篇文章主要为大家介绍了Apache Arrow Parquet存储与使用原理详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-08-08
  • Java并发编程中的synchronized关键字详细解读

    Java并发编程中的synchronized关键字详细解读

    这篇文章主要介绍了Java并发编程中的synchronized关键字详细解读,在Java早期版本中,synchronized 属于 重量级锁,效率低下,这是因为监视器锁(monitor)是依赖于底层的操作系统的Mutex Lock来实现的,Java 的线程是映射到操作系统的原生线程之上的,需要的朋友可以参考下
    2023-12-12
  • SpringBoot搭建全局异常拦截

    SpringBoot搭建全局异常拦截

    这篇文章主要介绍了SpringBoot搭建全局异常拦截,本文通过详细的介绍与代码的展示,详细的说明了如何搭建该项目,包括创建,启动和测试步骤,需要的朋友可以参考下
    2021-06-06
  • Spring Boot和Thymeleaf整合结合JPA实现分页效果(实例代码)

    Spring Boot和Thymeleaf整合结合JPA实现分页效果(实例代码)

    这篇文章主要介绍了Spring Boot和Thymeleaf整合结合JPA实现分页效果,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • 一文掌握IDEA中的Maven集成与创建

    一文掌握IDEA中的Maven集成与创建

    maven是用来帮助我们快速搭建项目结构与开发环境的好工具,这篇文章主要介绍了一文掌握IDEA中的Maven集成与创建,需要的朋友可以参考下
    2023-02-02
  • idea perttier的使用和缩进改为4不成功问题及解决

    idea perttier的使用和缩进改为4不成功问题及解决

    这篇文章主要介绍了idea perttier的使用和缩进改为4不成功问题及解决,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2024-05-05

最新评论