簡體   English   中英

Dagger2 + gradle + intellij:找不到生成的類並將其視為編譯錯誤/不會自動完成

[英]Dagger2 + gradle + intellij: generated classes are not found and treated as a compile error/won't autocomplete

我正在嘗試使用各種其他插件讓intellij與我的功能性gradle build sans玩得很好。 我使用的各種 插件打破了我需要使用的另一個插件的支持(它在默認位置查找生成的源以及其他問題)。 我已經在這個問題上工作了一段時間並取得了一些成功,但總是有警告。 許多插件在測試目錄等中與apt不兼容。

啟用注釋處理器並將輸出目錄設置為/ build / classes / main和/ build / classes / test不會產生結果,盡管這是gradle插件似乎放置.java和.class文件所包含的dagger2編譯。

通過在模塊配置中創建的源集合參數的創造性調整,我可以使一切都很好玩,但這從來沒有堅持下去。 即如果您關閉應用程序,則必須重新配置選項。

任何幫助,將不勝感激。

我通過以下步驟解決了問題:1)修改compileJava任務以指定目標源位置

compileJava {
    options.compilerArgs+= [
            "-s", project.projectDir.absolutePath + '/src/main/generated'
    ]
}

2)告訴IntelliJ Idea這些文件是來源

idea {
    module {
        // generatedSourceDir does  not work for some reason
        sourceDirs  += file(project.projectDir.absolutePath + '/src/main/generated')
    }
}

PS Idea插件應用:

apply plugin: 'idea'

暫無
暫無

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

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