2017-12-29 29 views
0

スプリングブート1.5.9ロギングlibs 2.10.0でランタイム例外が発生しましたか? (コンパイル時にエラーなしで動作します)私は1.5.9に、当社のspringbootアプリを更新していると私は、ロギングと、次のランタイム問題が発生してい

Caused by: java.lang.NoSuchMethodError: org.apache.logging.log4j.core.pattern.ThrowablePatternConverter.<init>(Ljava/lang/String;Ljava/lang/String;[Ljava/lang/String;)V 

それは明らかに私が追加、更新LIBのバージョン(に近い関連以前は春のブート1.4と2.6バージョンのロギングライブラリでうまくいきましたが)、mvnの依存関係をチェックすると、何の問題も見当たりません。

  • 春ブート1.5.9
  • SLF4J-API 2.10.0
  • のlog4j-SLF4J-のimpl:ここ

    は、アプリはそれが上記の実行時例外が発生し使用しているログLIBSバージョンです2.10.0

  • のlog4j-API 2.10.0
  • log4jのコア2.10.0
  • のlog4j-1.2-API 2.10.0
  • コモンズ-IO 2.5

おかげ

答えて

0

は、私はあなたが明示的にlog4jの依存関係のためのバージョンを指定した推測しています。 spring boot parentに互換性のあるライブラリのバージョンが指定されているため、これを行うべきではありません。

あなただけのデフォルトのロギング依存性(春・ブート・スターター・ログ)を除外するために必要と春・ブート・スタータlog4j2が含ま春ブートでのlog4jを使用するには、次のために非常に多くの

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-web</artifactId> 
</dependency> 
<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter</artifactId> 
    <exclusions> 
     <exclusion> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-logging</artifactId> 
     </exclusion> 
    </exclusions> 
</dependency> 
<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-log4j2</artifactId> 
</dependency> 
+0

感謝を私の質問に答える!奇妙なことに、あなたが指定した通りにエラーが発生しているということです。ログライブラリのバージョン番号を指定していないと気がつきましたが、上記(2.10.0)のランタイム例外それは起こらない。私はmvnの依存関係ツリーを実行し、現在2.7のバージョンのログライブラリを使用していることに気付きました。だから、それはエラーのように私はそれがログlibsのバージョン2.10.0を使用するように設定しています –

+0

申し訳ありませんあなたは実際にあなたのコメントに正確に言った - 感謝再び! –

+0

あなたは大歓迎です。私はあなたの依存関係がlog4jライブラリの複数のバージョンを指定していないので、 '本当の'競合ではないと思います。それはちょうど互換性のないバージョンです。 libのバージョンを明示的に定義するべきではありません。すでにSpringブートの親POMで指定されている場合です。 – Cyril

関連する問題