如何抑制由未能生成的类引起的代码生成错误?

Posted

技术标签:

【中文标题】如何抑制由未能生成的类引起的代码生成错误?【英文标题】:How do I suppress code generation errors caused by classes which failed to be generated? 【发布时间】:2017-05-26 16:38:37 【问题描述】:

使用 android 数据绑定、Dagger 2、Requery、GreenDAO 等库,Android 项目编译通常依赖于编译时生成的类。

当在大型项目中出现妨碍正确代码生成的错误时,Android Studio 不会看到有关该问题的错误突出显示,而是会报告来自数百个缺失类和相关问题的错误。我必须挖掘在数百行缺失的类错误以及相关的错误和警告中找到真正的错误。随着项目范围的扩大,代码生成错误变得难以管理。

在代码生成出错的情况下,是否有任何方法可以抑制这些预期错误,以便我可以快速查看原因而无需深入研究误报?

【问题讨论】:

我对这个问题也很感兴趣:我们正在使用数据绑定,如果我们在 Dagger 设置中犯了错误,那么相关的错误消息就会隐藏在大量数据绑定错误中。我喜欢 Dagger 2 的错误消息,我发现它比我从 Guice 得到的错误消息更有帮助,所以如果我们能以某种方式隔离它们,那就太好了。 【参考方案1】:

错误的真正原因包含在 gragle 构建日志中。您需要打开 Gradle 控制台。如下图所示:

【讨论】:

这产生了 100 多个与根本原因无关的错误。它甚至可能比消息更难阅读。是否需要特定的 Gradle 版本才能运行? 我使用最新的构建工具版本 (25.0.2)。通常,错误的真正原因放在构建跟踪的末尾

以上是关于如何抑制由未能生成的类引起的代码生成错误?的主要内容,如果未能解决你的问题,请参考以下文章

代码生成器生成文件的代码分析 - 如何抑制警告?

使用 Scapy 生成数据包的 PDF 时如何抑制 PyX 警告消息?

vs调试没问题,iis发布浏览分析其错误,未能加载类型?很急,求大神。

warning MSB3245: 未能解析此引用。未能找到程序集“CemeteryBLL”。请检查磁盘上是否存在该程序集。 如果您的代码需要此引用,则可能出现编译错误。

vs2017 出现“文件中的类都不能进行设计,因此未能为该文件显示设计器”问题处理

如何解决这个由 GridSearch 引起的 best_estimator_ 错误?