簡體   English   中英

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

[英]How to integrate generated sources in IntelliJ IDEA when using Gradle?

我目前正在使用JavaCC(使用此處的JavaCC gradle插件)來生成我的一些源代碼。 項目的其余部分確實依賴於該代碼。 如果我將項目導入IDEA或清理項目,那么我將收到錯誤,因為找不到類。 但是,構建項目確實有效。

是否可以修改gradle文件,以便IntelliJ(以及可能還有其他編輯者)知道在分析代碼之前生成這些源?

生成的代碼保存在src / gen / java /中,生成的代碼的位置通過以下方式得知:

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

由於IntelliJ正在構建項目,我認為最簡單的方法是:

compileJava.dependsOn <generateSourcesTask>

但是將它添加到gradle文件沒有效果(可能是因為JavaCC插件已經這樣做了)。

您是否嘗試將生成的源dir添加到main? 像這樣:

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

它對我有用:

compileJava.dependsOn('generateSourcesTask')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM