我目前正在使用JavaCC(使用来自here的JavaCC gradle插件)来生成我的一些源代码。项目的其余部分确实依赖于该代码。 如果我将项目导入IDEA或清理项目,那么我将收到错误,因为找不到类。但是,构建项目确实有效。
是否可以修改gradle文件,以便IntelliJ(以及可能还有其他编辑者)知道在分析代码之前生成这些源?
生成的代码保存在 src / gen / java / 中,生成的代码的位置通过以下方式获知:
sourceSets {
gen {
java {
srcDir 'src/gen/java'
}
}
}
由于IntelliJ正在构建项目,我认为最简单的方法是:
compileJava.dependsOn <generateSourcesTask>
但是将它添加到gradle文件没有效果(可能是因为JavaCC插件已经这样做了)。
答案 0 :(得分:2)
您是否尝试将生成的源dir添加到main?像这样:
sourceSets {
main {
java {
srcDirs = ["src/main/java", "src/gen/java"]
}
}
}
它对我有用:
compileJava.dependsOn('generateSourcesTask')