2016-05-07 6 views
4

ここでは非常に基本的なものが欠けている可能性がありますので、うまくいけば難しい質問ではありません。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の方法を含みます。

のGradleで、私はこれを使用していLIBSを取得するには:

compile 'com.google.dagger:dagger:2.4' 
compile 'com.google.dagger:dagger-compiler:2.4' 

は、すべて私が必要としますか?注釈のどれに対してもエラーは発生しません。認識できないのはこのDaggerキーワードだけです。私は何が欠けていますか?

何か助けや方向が分かりました。私は、私のような初心者のための素晴らしいドキュメントではありません。

+0

IntelliJが使用しているライブラリと同期していない可能性があります。どこかにGradle refresh/sync symbolがあるはずです。クリックするとあなたに役立ちます。また、Javaのものではなく、IntelliJの問題かもしれません。あなたは質問のタイトルを言い換えることができます。 – Sid

+0

チップをありがとう。私は主題を更新しました。 Gradleの同期に関する限り、私はこれを何度もやっています。私は困惑している。私はこれをあまりにも長く見てきました。誰かが以前にやったことを知っているから、もう一組の目が必要です。私はそのような人が答えるのはとても簡単だと思っていたでしょう。うまくいけば私は十分に自分の自己を説明した。 –

+0

参照:http://stackoverflow.com/a/41815478/1010868 –

答えて

2

注釈処理が有効になっていない可能性があります。 Settings

- >Compiler - >Annotation Processor - その後>Enable annotation processing

Rebuild Project

それはまだファイルは、あなたが追加する必要があります(正常に実行されているアプリにもかかわらず)存在しないと考えている場合ソースフォルダとして生成されたソースフォルダ: - >Project Structure - >ModulesからFile>Sources - - >プロジェクトを選択>を右のそれでダガーのもので生成されたフォルダをクリックしてください - >Sources


compile 'com.google.dagger:dagger-compiler:2.4'は、aptスコープまたはannotationProcessorスコープにする必要があります。

+0

「注釈処理を有効にする」により、コーヒー機のサンプルアプリケーションが機能しました。それは正しく実行されます。しかし何らかの理由で、 "DaggerCoffeeApp_Coffee"はまだ赤で表示されているため、シンボルを解決できません。私はサンプルアプリケーションをダウンロードし、他のアプリで気になる前にGradleを使って実行しようとしています。あなたの提案で改善しました!私は解決したとマークしますが、技術的にはそうではありません。 buildscriptのことは何もしなかったし、それはとにかくmavenのURLのためのパスを見つけることができなかったと言いました。 –

+0

Hrmm ...プロジェクト自体がアノテーション処理を有効にして実行されていますが、Intellijはまだパスを解決できないと言っていますか?つまり、生成されたフォルダをソースフォルダとして追加する必要があります。 – EpicPandaForce

+0

何もせずに注釈処理を有効にすると、アプリが機能しました。その後、後でgradleファイルに他のものを追加しても、何もしませんでした(URLに関する追加のメッセージを与える以外)。後でアノテーションセクションのパスを変更しましたが、そのメッセージはそれ以上出てこないのですが、まだ赤いテキストが表示されます。だからシンプルなものになるはずです。多分このようなものとは関係があります。私はここで言うことをしていますが、それでも不平を言っています。https://github.com/tbroyer/gradle-apt-plugin –

関連する問題