には見られないいくつかの方法について不平を言っている他のlog4j2のバージョン2.5をロードするためにspringbootスターターを強制することができます方法は、あなたがあなたでそれらを宣言することで、依存関係のバージョンを上書きすることができますありますmaven pomファイルまたはgradleファイル。
のmavenでは、デフォルトのlogbackロガーを除くと、あなたは、このスターターポンポンの内容を確認する場合は、次の依存関係
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-log4j2</artifactId>
</dependency>
を追加していく予定log4j2依存関係を含めて、あなたはそれで次の依存関係を見ることができます
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-slf4j-impl</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jul-to-slf4j</artifactId>
</dependency>
バージョンが管理されているこれらの依存関係のいずれかを上書きするためには、あなたのポンポンファイルでこれらの依存関係を再宣言することができますし、そのための「バージョン」のタグを提供しています。単にあなたのポンポンファイルでこの
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-core</artifactId>
<version>2.5</version>
</dependency>
が含まれます。 MavenやGradleなどの依存関係管理ツールは、このタイプのオーバーライドをサポートしています。
お返事ありがとうございます。私たちが気づいたことは、私たちのスターターを使用しているSpringbootアプリケーションでlog4j2の依存関係を設定すると、問題なく動作するということです。しかし、これは望ましい解決策ではない。私たちはスターターに依存関係を設定したいので、最終的なアプリケーションは正しいlog4j2バージョンを使用することができます。しかし、スターターにlog4j2バージョンの依存関係を設定すると、最終アプリケーションは、設定したものではなく、Springbootバージョンに付属のlog4j2バージョンを使用します。 –
あなたの春のブートアプリケーションは、春のブートスターターを使用せず、あなたの "スターター"を使用していますか?あなたはあなたのプロジェクトの構造、お金などにいくつかの詳細を投稿できますか? –