【问题标题】:My gradle java project does not find the log4j2.json我的 gradle java 项目没有找到 log4j2.json
【发布时间】:2015-03-21 08:43:26
【问题描述】:

Gradle 版本:2.2.1 log4j2 版本:2.1(我也试过 2.0.2) Java版本:1.8.0_25

项目布局只是标准的 Gradle java-quickstart。我确实将 log4j2.json 放在了

projectHome/src/main/resources/log4j2.json

这是我的 build.gradle 的相关部分:

task cook(type:JavaExec) {
    main = 'my.package.CookRunner'
    classpath = sourceSets.main.runtimeClasspath
}

但是当我做“gradle cook”时,我总是收到以下消息

ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console.

我错过了什么?任何帮助将不胜感激!

【问题讨论】:

  • 该项目是否在线托管?
  • 不,此代码适用于有 NDA 的客户。
  • 您能否将sourceSets.main.runtimeClasspath.each { println it } 添加到 build.gradle 并查看 log4j2.json 是否存在(或封闭目录)?跨度>
  • 嗨 Opal,我得到以下输出:projectRoot\build\classes\main, projectRoot\build\resources\main, ...log4j2.json 位于路径 resources\main 的正下方。我的应用程序不仅找不到log4j2.json,也找不到我的application.properties,它也位于resources\main 的正下方。我在这里错过了什么,这太令人沮丧了。顺便说一句,我正在使用 Windows 机器。
  • 如果无法访问项目源或至少无法重现错误的示例项目,可能很难提供帮助。

标签: java configuration gradle classpath log4j2


【解决方案1】:

Log4j requires 一些额外的库用于解析 JSON 配置。 “JSON 支持使用 Jackson 数据处理器来解析 JSON 文件。这些依赖项必须添加到想要使用 JSON 进行配置的项目中”。

将这些添加到您的依赖项部分,然后刷新 Gradle 以下载它们:

compile group:"com.fasterxml.jackson.core", name:"jackson-core", version:'2.4.2'
compile group:"com.fasterxml.jackson.core", name:"jackson-databind", version:'2.4.2'
compile group:"com.fasterxml.jackson.core", name:"jackson-annotations", version:'2.4.2'

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-12-30
    • 1970-01-01
    • 1970-01-01
    • 2019-01-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-02-10
    相关资源
    最近更新 更多