亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

SpringBoot CommandLineRunner run()方法未被調用

SpringBoot CommandLineRunner run()方法未被調用

大話西游666 2021-04-09 22:19:35
我正在學習SpringBoot。我的(瑣碎的)問題是我無法從SpringBoot調用的CommandLineRunner接口中獲取run()方法。我正在使用Java 8,Eclipse Oxygen,Maven,并且正在將我的項目作為“ Spring Boot應用程序”運行。代碼是:package com.clarivate.dataviewer;import org.apache.logging.log4j.Logger;import org.apache.logging.log4j.LogManager;import org.springframework.boot.CommandLineRunner;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;@SpringBootApplicationpublic class DvMain implements CommandLineRunner{static Logger logger = LogManager.getRootLogger();public static void main(String[] args) {    logger.debug("DS1A in main()");    //SpringApplication.run(DvMain.class, args);    SpringApplication app = new SpringApplication(DvMain.class);    //ConfigurableApplicationContext app = SpringApplication.run(DvMain.class, args);    logger.debug("DS1B in main()");    app.run(args);}@Overridepublic void run(String... args) throws Exception {    // This does not get called    logger.debug("DS4 this line is never printed");}}被覆蓋的run()方法不會被調用。我嘗試創建一個單獨的類來實現CommandLineRunner,但存在相同的問題??刂婆_跟蹤為:SLF4J: Class path contains multiple SLF4J bindings.SLF4J: Found binding in [jar:file:/C:/Users/44/.m2/repository/ch/qos/logback/logback-classic/1.2.3/logback-classic-1.2.3.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: Found binding in [jar:file:/C:/Users/44/.m2/repository/org/apache/logging/log4j/log4j-slf4j-impl/2.10.0/log4j-slf4j-impl-2.10.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.SLF4J: Actual binding is of type [ch.qos.logback.classic.util.ContextSelectorStaticBinder]12:58:42.225 [main] DEBUG  - DS1A in main()12:58:42.289 [main] DEBUG  - DS1B in main()我敢肯定我犯了一個簡單的錯誤,但是我看不到它。任何幫助表示贊賞。
查看完整描述

3 回答

?
www說

TA貢獻1775條經驗 獲得超8個贊

首先,調用即將進入您的run方法。但是不記錄任何內容,因為記錄器存在一些問題。您可以System.out.println(...)用來確認這一點。

  1. 如下更改您的Logger聲明。

    private static final Logger logger = LoggerFactory.getLogger(DvMain.class);
  2. 您沒有使用正確的庫。從slf4j使用Logger而不是log4j

    import org.slf4j.Logger;
    import org.slf4j.LoggerFactory;


查看完整回答
反對 回復 2021-04-18
  • 3 回答
  • 0 關注
  • 1140 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號