我正在玩Gradle java项目,而且我很难让注释处理器运行。出于某种原因,当我运行intellij配置(如下图所示)时,注释处理器不运行。我假设这是因为配置的Make
命令配置为在启动之前运行。注释处理器似乎在调用assemble
或build
时运行。
调用./gradlew clean make
时,此问题可重现。在致电./gradlew clean assemble
或./gradlew clean build
时,我没有遇到此问题。什么是解决这个问题的最佳做法?
答案 0 :(得分:4)
答案 1 :(得分:2)
示例build.gradle片段:
apply plugin: 'idea'
from:https://github.com/tbroyer/gradle-apt-plugin(github for net.ltgt.apt plugin)
IntelliJ IDEA
当应用构思插件时,构思任务将自动配置 生成的文件以启用intelliJ IDEA中的注释处理。
然而,在IntelliJ IDEA中使用Gradle集成时 比想法任务,您必须手动启用注释 处理:在设置...→构建,执行,部署→编译器→ 注释处理器,选中启用注释处理和获取 项目类路径中的处理器。模仿Gradle行为和 生成文件行为,您可以配置生产和测试 source目录构建/生成/源/ apt / main和 build / generated / source / apt / test分别选择Store 生成的源相对于:模块内容根。
请注意,从IntelliJ IDEA 2016.1开始,您必须取消选中 导入项目时,为每个源集创建单独的模块。
无论如何,想法插件必须应用于项目。
从IntelliJ IDEA 2016.3开始,另一种方法是委托 IDE构建对Gradle本身的操作: https://www.jetbrains.com/idea/whatsnew/#v2016-3-gradle
答案 2 :(得分:-2)
您没有应用APT插件
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:1.3.0'
classpath 'com.neenbedankt.gradle.plugins:android-apt:1.4'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
和
apply plugin: 'com.neenbedankt.android-apt'
或者核心,它的纯Java替代方案:
https://plugins.gradle.org/plugin/net.ltgt.apt
同时尝试使用apt
代替providedCompile