Ich rufe eine statische Singleton-Instanz aus der Klasse auf GameManager.java
.
HUD.getInstance().update(timeDelta);
HUD.java
enthält die HUD
Klasse sowie zwei weitere verwandte Klassen HUDTextElement
und HUDElement
. Alle Klassen befinden sich im selben Stammpfad ../src/org/mypackage
.
Wenn ich dieses Java-Projekt in IntelliJ kompiliere, kann ich Symbol HUD jedoch nicht in der Zeile finden, in der ich den HUD.getInstance()
Anruf tätige.
Dieser exakt gleiche Code wird in Eclipse problemlos kompiliert. Haben Sie eine Idee, wo das Problem liegt?
java
intellij-idea
Joe
quelle
quelle
Antworten:
Wählen Sie Build-> Rebuild Project, um das Problem zu lösen
quelle
Ich hatte das gleiche Problem und es stellte sich heraus, dass ich das neue Projekt nie vollständig zusammengestellt hatte. Wenn Sie mit der rechten Maustaste klicken und Kompilieren auswählen (Shift-Cmd-F9 auf dem Mac), wurde dies behoben. Es scheint, dass die Kompilierung beim Speichern nicht kompilierte Dateien nicht "sieht".
Das Markieren des src-Ordners als Quelle hat in meinem Fall nicht geholfen.
quelle
Ich hatte das gleiche Problem und habe es behoben, indem ich auf Datei> Caches ungültig machen / neu starten geklickt habe
quelle
Dies ist wahrscheinlich Ihr Ordner ../src, der in Intellij IDEA nicht als "Quell" -Ordner markiert ist. Daher muss er nicht dort suchen, um Ihre Klasse zu finden. Sie können mit der rechten Maustaste auf den Ordner im Projektexplorer klicken und "Als Quellordner markieren" auswählen, um dies zu beheben.
quelle
Ich habe den gleichen Fehler "Symbol kann nicht gefunden werden" erhalten, als ich dies tat
Build -> Make Project
. Ich habe dies behoben, indem ich meinen Maven-/target
Ordner gelöscht , mit der rechten Maustaste auf mein Projektmodul geklicktMaven -> Reimport
und ausgeführt habeBuild -> Rebuild Project
. Dies war auf IntelliJ Idea 13.1.5.Es stellte sich heraus, dass dies der
Maven -> Reimport
Schlüssel war, da das Problem einige Male wieder auftrat, bevor ich das endlich tat.quelle
Vielen Dank für die bisherige Hilfe. Es stellte sich heraus, dass das Update zuerst HUD.java kompilierte (Rechtsklick auf die Datei-> HUD.java kompilieren). Nach dem Kompilieren der Java-Datei konnte der Rest des Projekts problemlos kompiliert werden.
Ich weiß nicht genau, warum dies behoben wurde oder warum IntelliJ dies nicht automatisch tun würde, aber der Root-Fehler scheint damit zu tun zu haben, dass IntelliJ nicht richtig damit umgeht, mehrere Klassen in einer einzigen Java-Datei zu haben.
quelle
mvn com.zenjava:javafx-maven-plugin:2.0:fix-classpath
. Es ist beabsichtigt, das Javafx-JAR aus dem libs-Verzeichnis in das ext-Verzeichnis für das aktuelle JDK zu verschieben. Ich habe es hier gefunden .Ich musste mit der rechten Maustaste auf das Projekt klicken und "Unter importieren" im Untermenü "Run Maven" auswählen.
quelle
Ich benutze Maven in meinem Projekt. Aus irgendeinem Grund gab mir IntelliJ solche seltsamen Fehler. Ich habe mvn clean ausgeführt und eine erneute Synchronisierung versucht, und diese Fehler sind verschwunden.
quelle
Für mich - Ich habe diese Schritte ausprobiert (Cache & Restart ungültig machen, Maven Reimport), aber sie haben nicht funktioniert. Also habe ich den gelöschten
.idea
,.settings
und.project
Ordner und versuchte - es funktionierte.quelle
.idea
Ordners hat es für mich getan.Dies ist mir passiert, als ich einen Ordner gelöscht und dann wieder in das Projekt eingefügt habe.
Right-click project folder -> Rebuild
arbeitete für mich.quelle
Ich weiß, dass dies eine alte Frage ist, aber nach meiner jüngsten Erfahrung geschieht dies, weil die Build-Ressourcen entweder gelöscht werden oder Idea sie nicht als Quelle erkennen kann.
Wenn der Fehler auftritt, geben Sie Quellen für den Ordner / das Verzeichnis an. Dieser Fehler muss behoben werden.
Manchmal sind einzelne Klassen auch dann nicht verfügbar, wenn wir Quellen für den gesamten Ordner zuweisen. Für Anfänger besteht eine einfache Lösung darin, eine neue Kopie zu importieren und die Anwendung erneut zu erstellen, damit sie sofort einsatzbereit ist.
Es ist ratsam, danach eine Neuinstallation durchzuführen.
quelle
Das Neukompilieren der Hauptklasse Application.java hat es für mich erledigt. Klicken Sie mit der rechten Maustaste auf class> Recompile
quelle
Ich weiß, dass dieser Thread alt ist, aber eine andere Lösung war zu laufen
Und auf IntelliJ machen Sie CMD + Umschalt + A (Mac OS) -> geben Sie "Alle Maven-Projekte erneut importieren" ein.
Wenn dies nicht funktioniert, versuchen Sie, das erneute Herunterladen von Maven-Abhängigkeiten zu erzwingen
quelle
mvn install
IntelliJ diese Referenzen nicht und hat die Ausführungsumgebung nicht bestanden.Für mich war ein Problem mit Lombok, da die Anmerkungsverarbeitung aktiviert sein muss. Sie finden dieses Kontrollkästchen unter
Settings > Build > Compiler > Annotation Processors
quelle
Ich hatte das gleiche Problem, und die Antwort enthält viele Lösungen. Das Ausprobieren all dieser Lösungen hat einige Zeit in Anspruch genommen. Daher möchte ich hier einen methodischen Ansatz vorschlagen, wenn Sie diesen Fehler erhalten.
Überprüfen Sie die folgenden Dinge, erstellen / aktualisieren Sie sie, wenn etwas fehlt
Wenn alles in Ordnung ist, können Sie versuchen, die folgenden Lösungen in einer bestimmten Reihenfolge zu finden
Kompilieren Sie die Datei / das Modul neu
Wenn das Problem dadurch nicht behoben wurde, versuchen Sie, die Maven-Abhängigkeit zu melden und das Projekt mit
Maven -> Reimport
und zu erstellenBuild -> Rebuild Project
Versuchen
mvn clean install -DskipTests
Versuchen Sie, den IntelliJ-Cache ungültig zu machen und die IDE mit neu zu starten
File > Invalidate caches/ restart
Löschen Sie den Ordner .idea und importieren Sie das Projekt erneut
Vielen Dank an alle, die diese Frage beantwortet haben. Sie können sich auf die Antworten für jeden Punkt beziehen, um weitere Details zu erhalten.
quelle
In meinem Fall bestand das Problem darin, Lomboks experimentelle Funktion @UtilityClass in meinem Java-Projekt in Intellij Idea zu verwenden, um Klassenmethoden als "statisch" zu kommentieren. Als ich jede Methode der Klasse explizit als "statisch" machte, anstatt die Annotation zu verwenden, verschwanden alle Kompilierungsprobleme.
quelle
Da dies der erste Treffer bei Google ist, der nach dem Fehler "IntelliJ kann kein Symbol finden" sucht, werde ich auch meine Lösung einbringen.
Das Problem für mich war, dass mein Projekt von Eclipse stammte und einige Dateien Abhängigkeiten von Klassen enthielten, die
src/generated-sources
durch Spezifikationen in pom.xml generiert wurden . Aus irgendeinem Grund wurde dies beim ersten Öffnen des Projekts nicht ordnungsgemäß ausgeführt, und das Neuerstellen / erneute Importieren hat nicht geholfen, sodass die Dateien nie generiert wurden.Die Lösung bestand darin, mit der rechten Maustaste auf das Modul zu klicken und auszuwählen
Maven -> Generate Sources and Update Folders
. Damit wurde das Problem behoben und ich konnte kompilieren.quelle
Stellen Sie sicher, dass die Quelldatei der Java-Klasse, auf die Sie verweisen möchten, eine
.java
Erweiterung hat. Es war.aj
in meinem Fall (ich muss beim Erstellen "Aspekt erstellen" anstelle von "Klasse erstellen" gedrückt haben). IntelliJ zeigt für diese Datei das gleiche Symbol wie für die "normale" Klasse, aber der Compiler sieht es beim Erstellen nicht.Ändern,
.aj
um.java
es in meinem Fall zu beheben.quelle
Manchmal befindet sich die gewünschte Klasse im
test
Quellverzeichnis. Ist mir sowieso passiert ...quelle
Ich hatte das gleiche Problem, außer dass ich die Klassen importierte, für die Abhängigkeiten nicht irgendwie aufgelöst wurden. Ich habe Maven-Projekte aktualisiert, Projekt neu erstellen. Es wurde immer noch nicht gelöst. Es sieht so aus, als hätte IntelliJ etwas falsch zwischengespeichert. Ich habe IntelliJ neu gestartet und dadurch die Abhängigkeiten behoben. Ich denke, es hat den Cache irgendwie geleert.
quelle
Wenn Sie Lombok verwenden, stellen Sie sicher, dass Sie die Anmerkungsverarbeitung aktiviert haben.
quelle
Ich sehe viele Antworten, die einen Build oder einen Re-Build vorschlagen, aber nur für den Fall, dass dies Ihr Problem nicht behebt, beachten Sie, dass IDEA eine Methode erkennen kann, diese jedoch nicht kompiliert wird, falls Sie eine vorherige haben,
new
wie sie sein wird Erwarten der Instanz.quelle
In meinem Fall hatte ich ein Problem beim Finden einer Klasse aus einem anderen Modul. In
pom.xml
hatte ich gerade diese Abhängigkeit mit<scope>compile</scope>
angegeben. Das Entfernen dieser Zeile hat geholfen.quelle
Ich weiß, dass dies alt ist, aber für alle anderen stellen Sie sicher, dass sich die fehlende Klasse im selben Paket befindet wie die Klasse, in der Sie den Fehler erhalten / von der Sie ihn aufrufen.
quelle