Ich bin völlig erschöpft mit Dolch 2 in Nicht-Android App (IDE ist IntelliJ IDEA).
build.gradle
%Vor%Komponente
%Vor%Modul
%Vor%Haupt
%Vor%Compiler sagt
kann das Symbol DaggerMyComponent
nicht finden
Habe absolut keine Ideen mehr, was falsch sein könnte: (
Übrigens, wenn ich gradlew clean build --refresh-dependencies
starte, gibt es keinen Fehler, alles in Ordnung!
Aber ich benutze nur 'Projekt neu erstellen' in IDE - Fehler erneut. Möglicherweise IDEA-Fehler (Zeit, um zu Eclipse zurückzukehren)?
Und ja, ich habe ein Verzeichnis mit generierten Klassen als Inhaltsstamm hinzugefügt, sodass IDE DaggerMyComponent
sehen kann.
Ich hatte das Problem auf JetBrains
gepostetund die Lösung ist im ersten Kommentar.
Wenn Sie den internen IntelliJ-Compiler für den Projektaufbau verwenden, den Sie benötigen Aktivieren Sie die Annotationsverarbeitung unter Datei | Einstellungen | Erstellen, Ausführung, Bereitstellung | Compiler | Annotation Processors
Alternativ können Sie IDE-Aktionen zum Erstellen delegieren / ausführen. Sie finden die Option unter Datei | Einstellungen | Erstellen, Ausführung, Bereitstellung | Build-Tools | Gradel | Läufer
In Build 171.4073.35 Delegate IDE build/run actions to gradle
-Option ist standardmäßig festgelegt.
Die Antwort von Alexey ist gut, aber intelliJ hat nicht nur Probleme, ohne Reinigung auf Annotation-Prozessoren zu wechseln, Sie müssen auch überprüfen, ob Annotation-Prozessoren in
aktiviert sindDatei - & gt; Andere Einstellungen - & gt; Standardeinstellungen - & gt; Compiler - & gt; Annotation Processors
Wenn dies aktiviert ist, können Sie auch Ihre compiler.xml in
ändern[Projektstamm] /. idea / compiler.xml und aktivieren Sie annotationPorcessing für Ihr Profil als true. (Bild unten von einem anderen Stack-Overflow-Post kopieren)
%Vor%Stellen Sie sicher, dass [Datei - & gt; Cache ungültig machen und neu starten] nach
Andere berichteten, dass sie
verwenden musstenPlugin anwenden: 'Idee'
in ihrer Gradle-Datei, damit intellij Dolch-generierte Klassen erkennen kann.
Neben der Aktivierung der Annotationsverarbeitung, wie von @ spierce7 gezeigt, bestand mein Problem darin, Build Project aus dem IntelliJ-Menü Erstellen auszuführen, ohne die Gradle - & gt; Runner -Einstellungen auf IDE-Build- / run-Aktionen delegieren, um zu erweitern. Das habe ich erkannt, nachdem ich ./gradlew build
vom Terminal ausgeführt und festgestellt habe, dass der Ordner build / generated erstellt wurde.
Eine weitere Quelle der Verwirrung für mich war, dass die Liste der Verzeichnisse in IntelliJ nicht aktualisiert wurde, bis ich in diesen Abschnitt der ID geklickt habe.
Ich habe apply plugin: 'idea'
entfernt und es funktioniert immer noch so, dass es unnötig ist.
Ich bin mir nicht sicher, ob Datei - & gt; Cache ungültig machen und neu starten war notwendig, aber ich habe es versucht, wie @Emanuel Seibold darauf hinwies, bevor ich bemerkte, dass es funktionierte.
Ich bin Version 2017.3.3
von IntelliJ IDEA, Version 0.14
von net.ltgt.apt
plugin und Version 2.14.1
von Dagger und was für mich funktionierte, war folgendes zu meiner build.gradle
Datei hinzuzufügen, um IntelliJ wo zu sagen Es kann die von Dagger erzeugten Quellen finden:
Tags und Links java intellij-idea dagger-2