使用Gradle时如何在IntelliJ IDEA中集成生成的源?

时间:2015-04-30 13:24:30

标签: java intellij-idea gradle javacc

我目前正在使用JavaCC(使用来自here的JavaCC gradle插件)来生成我的一些源代码。项目的其余部分确实依赖于该代码。 如果我将项目导入IDEA或清理项目,那么我将收到错误,因为找不到类。但是,构建项目确实有效。

是否可以修改gradle文件,以便IntelliJ(以及可能还有其他编辑者)知道在分析代码之前生成这些源?

生成的代码保存在 src / gen / java / 中,生成的代码的位置通过以下方式获知:

sourceSets {
    gen {
        java {
            srcDir 'src/gen/java'
        }
    }
}

由于IntelliJ正在构建项目,我认为最简单的方法是:

compileJava.dependsOn <generateSourcesTask>

但是将它添加到gradle文件没有效果(可能是因为JavaCC插件已经这样做了)。

1 个答案:

答案 0 :(得分:2)

您是否尝试将生成的源dir添加到main?像这样:

sourceSets {
    main {
        java {
            srcDirs = ["src/main/java", "src/gen/java"]
        }
    } 
}

它对我有用:

compileJava.dependsOn('generateSourcesTask')