如何使用 Spring Boot 将 Log4j 添加到 maven 项目
Posted
技术标签:
【中文标题】如何使用 Spring Boot 将 Log4j 添加到 maven 项目【英文标题】:How do add Log4j to maven project with Spring Boot 【发布时间】:2021-04-01 00:47:33 【问题描述】:我有一个使用 springboot 的项目,但是 mvn 找不到任何 log4j-api,尽管我将它包含在依赖项中。我想知道添加它的正确方法是什么,这是我为“mvn install”得到的错误消息:
“在https://devtools.jahia.com/nexus/content/repositories/jahia-releases中找不到org.apache.logging.log4j:log4j-api-java9:pom:2.13.3失败被缓存在本地存储库中,直到archetype的更新间隔过去后才会重新尝试解析或强制更新”
我的 pom.xml 使用依赖管理器进行 spring boot,因为我有不同的父级:
感谢您的回复
【问题讨论】:
可能是您的工作区和系统正在使用冲突的 maven 版本。检查您的 C:\Users*\.m2\wrapper\dists 是否只有 1 个 bin 文件夹。如果没有删除一个并更正您的 Maven 设置。 谢谢你的回复,我其实只有1个bin文件夹 【参考方案1】:<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
【讨论】:
为这个依赖添加一些解释 我试过了,但没有任何改变...谢谢 你的问题解决了吗?可以看看你的 pom.xml 吗?【参考方案2】:不确定您是否仍在寻找答案。但是springboot默认使用commons logging,如果要更改,需要专门排除springboot-starter-logging并添加log4j2依赖。
<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>``
完整文档: https://docs.spring.io/spring-boot/docs/current/reference/html/howto.html#howto.logging.log4j
【讨论】:
虽然此链接可能会回答问题,但最好在此处包含答案的基本部分并提供链接以供参考。如果链接页面发生更改,仅链接的答案可能会失效。以上是关于如何使用 Spring Boot 将 Log4j 添加到 maven 项目的主要内容,如果未能解决你的问题,请参考以下文章
将 log4j2.properties 配置到 Spring Boot 中的问题(使用 gradle)
如何使用 Spring Boot 应用程序初始化 log4j?
如何使用 Spring Boot 微服务 Extern log4j.properties 文件并将其作为 Linux 服务运行?