Android studio 原因:java.lang.NoSuchMethodException:无此类方法:org.apache.logging.log4j.util.StackLocator
在将AndroidStudio更新到最新的3.1.x版本后,gradle抱怨annoationProcessor必须单独声明,并建议我在annoationProcessor配置中添加“org.apache.logging.log4j:log4j core:2.10.0” 我添加了它,导致此运行任务中出现以下错误:Android studio 原因:java.lang.NoSuchMethodException:无此类方法:org.apache.logging.log4j.util.StackLocator,android-studio,gradle,Android Studio,Gradle,在将AndroidStudio更新到最新的3.1.x版本后,gradle抱怨annoationProcessor必须单独声明,并建议我在annoationProcessor配置中添加“org.apache.logging.log4j:log4j core:2.10.0” 我添加了它,导致此运行任务中出现以下错误: run tasks :app:transformClassesWithDesugarForAppDebug 11s 442ms 错误: Caused by: java.lan
run tasks
:app:transformClassesWithDesugarForAppDebug 11s 442ms
错误:
Caused by: java.lang.NoSuchMethodException: no such method: org.apache.logging.log4j.util.StackLocator.lambda$getCallerClass$3(String,String,Stream)Optional/invokeStatic
Caused by: java.lang.NoSuchFieldError: method resolution failed
我还尝试使用此选项禁用注释检查,而不是添加上面的行:
defaultConfig {
...
javaCompileOptions {
annotationProcessorOptions {
includeCompileClasspath false
}
}
}
所有这些都会导致上述相同的错误
我没有将此库添加为依赖项,这意味着它是我正在导入的其他库的一部分,但我不确定是哪个库
有没有办法
我猜您必须添加这两个包,
log4japi
和log4j core
…因为org.apache.logging.log4j.util
是log4japi的内部实用程序类
dependencies {
api "org.apache.logging.log4j:log4j-api:2.11.1"
implementation "org.apache.logging.log4j:log4j-core:2.11.1"
}
可以列出所有/特定模块的依赖项,如下所示:
./gradlew :app:dependencies >> ./results/dependencies.txt
./gradlew :app:dependencies --configuration debugCompileClasspath
要列出所有可用配置,请执行以下操作:
./gradlew :app:dependencies | grep ' - ' | grep -v '(n)' | grep -v 'deprecated'
然后可以列出每个生成配置的依赖项:
./gradlew :app:dependencyInsight --configuration debugCompileClasspath --dependency log4j-core
我没试过,但你试过类似的东西吗
dependencies {
annotationProcessor "org.apache.logging.log4j:log4j-core:2.11.1"
}
这是迁移文档。最后我不得不删除所有库,包括org.apache.logging.log4j:log4j核心:2.10.0
但是仔细看看马丁·泽特勒的回答,它非常有用 谢谢你的建议。我现在都试过了,但仍然无法消除错误。@U用户,dependencyInsight
怎么说?StackLocator
可能构造错误,…没有getCallerClass(String,String,Stream)
。是的,这就是我觉得奇怪的地方。该项目以前使用相同的依赖项,然后在这段时间内出现了一些android studio更新,现在出现了这个错误。我已将dependencyInsight的输出添加到问题中。抱怨google-services.json,这有关系吗?发现这个问题似乎或多或少是一样的: