Android 上的 Dagger 2,缺少错误消息
Dagger 2 on Android, missing error messages
我在 Android 项目中使用 Dagger 2,但在调试它时遇到问题。我知道编译失败是因为我的 dagger 2 设置(以前有过)中的错误,但几乎不可能找到它,因为我没有收到正确的错误消息告诉我问题出在哪里。我得到的只是显示注释处理失败的消息。沿着:
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
Error:(14, 28) error: cannot find symbol class BR
Error:(17, 40) error: package com.some.package.databinding does not exist
Error:(17, 51) error: cannot find symbol class DaggerSomeComponent
...
也许这与我也在使用数据绑定这一事实有某种关系!?
我正在使用 Dagger 2.5、Gradle 插件 2.1.2 和 android-apt 1.8。
感谢您的帮助!
Java
javac
默认情况下最多只显示 100 个错误。您可能超出了这个限制,因为数据绑定报告了它生成的每个绑定的错误 class。
将此添加到您应用的 build.gradle
:
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xmaxerrs" << "500"
}
}
科特林
您可以在使用 kapt
时启用相同的 javac 选项,方法是将以下内容添加到您的 build.gradle。
kapt {
javacOptions {
option("-Xmaxerrs", 500)
}
}
这目前被忽略,但在 Kotlin v1.2.20
中将是 fixed。
我在 Android 项目中使用 Dagger 2,但在调试它时遇到问题。我知道编译失败是因为我的 dagger 2 设置(以前有过)中的错误,但几乎不可能找到它,因为我没有收到正确的错误消息告诉我问题出在哪里。我得到的只是显示注释处理失败的消息。沿着:
Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> Compilation failed; see the compiler error output for details.
Error:(14, 28) error: cannot find symbol class BR
Error:(17, 40) error: package com.some.package.databinding does not exist
Error:(17, 51) error: cannot find symbol class DaggerSomeComponent
...
也许这与我也在使用数据绑定这一事实有某种关系!?
我正在使用 Dagger 2.5、Gradle 插件 2.1.2 和 android-apt 1.8。
感谢您的帮助!
Java
javac
默认情况下最多只显示 100 个错误。您可能超出了这个限制,因为数据绑定报告了它生成的每个绑定的错误 class。
将此添加到您应用的 build.gradle
:
gradle.projectsEvaluated {
tasks.withType(JavaCompile) {
options.compilerArgs << "-Xmaxerrs" << "500"
}
}
科特林
您可以在使用 kapt
时启用相同的 javac 选项,方法是将以下内容添加到您的 build.gradle。
kapt {
javacOptions {
option("-Xmaxerrs", 500)
}
}
这目前被忽略,但在 Kotlin v1.2.20
中将是 fixed。