我可能在這裏錯過了一些非常基本的東西,所以希望這不是一個難題。Java/IntelliJ不認識Dagger2組件的「Dagger」關鍵字
我的
CoffeeShop coffeeShop = DaggerCoffeeShop.create();
等效沒有被由IDE(的IntelliJ)識別。 這是一個本地Java項目。 「匕首 CoffeShop」部分全是紅色。
該組件使用以下語法:
@Component(modules = <ModuleClassName>.class)
public interface CoffeeShop {
// some methods.
// does it matter what goes in here for it to recognise the component?
}
的「ModuleClassName」與@Module註釋一個模塊的名稱和包括@Provides方法。
爲了讓我使用這個在搖籃的庫:
compile 'com.google.dagger:dagger:2.4'
compile 'com.google.dagger:dagger-compiler:2.4'
那是我所需要的?我對任何註釋都沒有任何錯誤,只是它無法識別的這個Dagger關鍵字。我錯過了什麼?
讚賞任何幫助或方向。我沒有發現文檔對於像我這樣的初學者來說非常棒。
一個問題可能是IntelliJ沒有與您正在使用的庫同步。您應該在某處看到Gradle刷新/同步符號。點擊它應該可以幫到你。另外,它可能是IntelliJ的問題,而不是Java的問題。你可能想要改寫你的問題標題。 – Sid
感謝您的提示。我更新了這個主題。就Gradle同步而言,我已經做了很多次了。我很難過。我看了太久。我需要另一個人的眼睛從一個人知道以前做過。我原以爲這樣的人回答會很簡單。希望我已經很好地解釋了我的自我。 –
請參閱:http://stackoverflow.com/a/41815478/1010868 –