4 回答
在 IDEA 下导入 Gradle 项目后,请执行以下步骤:
运行菜单:构建 - 构建项目
右键单击每个新生成的文件夹并选择:Mark Directory as - Generated Sources Root所以它被标记如下:
- 添加
/generated
到项目的.gitignore文件
- 添加
这是一个最小的可行配置,它将为生成的类提供完整的 IDE 支持。缺点是,每当重新导入 Gradle 项目时,生成的文件夹都需要再次标记为Generated Sources Root。也许可以通过将这些路径添加为build.gradle下的源集来改善这一点。
有时,IDEA 模块会因上述原因而丢失其编译器输出路径设置。只需将其设置回默认文件夹就足够了。
答案在(应该)在 gradle-apt-plugin 的 README 中:https ://github.com/tbroyer/gradle-apt-plugin
即,也应用net.ltgt.apt-idea
插件。
顺便说一句,我建议将构建/运行操作委托给 IntelliJ 中的 Gradle。当然它有点慢,但需要在 IDE 中进行零设置并且工作可靠。也就是说,如果您不这样做,它也应该可以正常工作。
只要让你的 build.gradle 和这些一起工作,它就可以正常工作,不需要接触 intellij、源集等。
plugins {
id 'java'
id "net.ltgt.apt" version "0.20"
}
apply plugin: 'idea'
apply plugin: 'net.ltgt.apt-idea'
group 'abc'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
compile "com.google.auto.value:auto-value-annotations:1.6.2"
annotationProcessor "com.google.auto.value:auto-value:1.6.2"
}
通过添加可选的 true 标记,我不必对使用 maven 的 intellij 做任何事情。
<dependency>
<groupId>com.google.auto.value</groupId>
<artifactId>auto-value</artifactId>
<version>1.9</version>
<optional>true</optional>
</dependency>