(Kotlin) Intellij IDEA 中注释处理的任何解决方法

Posted

技术标签:

【中文标题】(Kotlin) Intellij IDEA 中注释处理的任何解决方法【英文标题】:(Kotlin) Any workaround for annotation processing in Intellij IDEA 【发布时间】:2019-01-31 17:17:45 【问题描述】:

我创建了一个包含主程序逻辑的 gradle 模块 main 和包含处理器注释定义的 codegen。我发现:

请注意,IntelliJ IDEA 自己的构建系统仍然不支持 kapt。每当您想重新运行注释处理时,从“Maven Projects”工具栏启动构建。

在 kapt 页面 (https://kotlinlang.org/docs/reference/kapt.html) 但我真的需要它。可能有一些(可能是丑陋的)解决方法吗?终端后台工作者或预构建任务或其他什么?

附言 这可能显示为重复的问题,但我目前确实没有找到有效的解决方案

【问题讨论】:

【参考方案1】:

在当前的项目中,我们也遇到了这个问题;我们使用 gradle,解决方法是从命令行运行 gradle classes testClasses - 在外部终端程序或 IJ 的终端(macOS 上的 alt-F12)中。这也会触发 kapt,完成后我也会从 IJ 的菜单中执行 Build/Rebuild 项目

如果 kapt 处理的代码不会经常更改(我们只使用 mapstruct 和 querydsl),这就足够了。

如果您使用的是 maven,mvn compile test-compile 也应该可以工作。

【讨论】:

【参考方案2】:

最后,我发现在 Intellij IDEA 中运行的存储库没有任何变通方法 (https://github.com/miquelbeltran/kotlin-code-gen-sample)。取自https://medium.com/@Miqubel/hello-world-of-annotation-processing-in-kotlin-3ec0290c1fdd

【讨论】:

以上是关于(Kotlin) Intellij IDEA 中注释处理的任何解决方法的主要内容,如果未能解决你的问题,请参考以下文章

(Kotlin) Intellij IDEA 中注释处理的任何解决方法

Intellij IDEA 未在 Kotlin 文件中显示有关 android 资源的可用建议

〖回顾〗Kotlin & IntelliJ IDEA 分享!

如何在IntelliJ IDEA中禁用“粘贴时将Java转换为Kotlin”?

IntelliJ IDEA Ultimate 2018.3 认为我的 Java 9 项目是 Kotlin 项目

如何在intelliJ IDEA中为我现有的Kotlin项目生成build.gradle文件