Wykonuję to wywołanie statycznej instancji pojedynczej z klasy GameManager.java
.
HUD.getInstance().update(timeDelta);
HUD.java
zawiera HUD
klasę, a także dwie inne powiązane klasy, HUDTextElement
a HUDElement
. Wszystkie klasy znajdują się w tej samej ścieżce głównej ../src/org/mypackage
.
Jednak podczas kompilowania tego projektu Java w IntelliJ nie mogę znaleźć HUD symbolu w linii, w której wykonuję HUD.getInstance()
połączenie.
Dokładnie ten sam kod kompiluje się dobrze w zaćmieniu, czy wiesz, na czym polega problem?
java
intellij-idea
joe
źródło
źródło
Odpowiedzi:
Wybierz Build-> Rebuild Project rozwiąże to
źródło
Miałem ten sam problem i okazuje się, że nigdy nie skompilowałem całkowicie nowego projektu. Więc kliknięcie prawym przyciskiem myszy i wybranie Kompiluj '' (shift-cmd-F9 na Macu) naprawiło to. Wygląda na to, że kompilacja przy zapisywaniu nie „widzi” nieskompilowanych plików.
Oznaczanie folderu src jako źródła nie pomogło w moim przypadku.
źródło
Miałem ten sam problem i naprawiłem go, klikając Plik> Unieważnij pamięć podręczną / uruchom ponownie
źródło
Prawdopodobnie jest to Twój folder ../src nie jest oznaczony jako folder „źródłowy” w Intellij IDEA, więc nie wie, aby tam szukać, aby znaleźć Twoją klasę. Możesz kliknąć folder prawym przyciskiem myszy w eksploratorze projektów i wybrać opcję „oznacz jako folder źródłowy”, aby to naprawić.
źródło
Otrzymałem ten sam błąd „nie można znaleźć symbolu”, kiedy to zrobiłem
Build -> Make Project
. Naprawiłem to, usuwając mój/target
folder Maven , klikając prawym przyciskiem myszy mój moduł projektu i robiącMaven -> Reimport
i robiącBuild -> Rebuild Project
. To było w IntelliJ Idea 13.1.5.Okazuje się, że
Maven -> Reimport
był kluczowy, ponieważ problem pojawił się kilka razy, zanim w końcu to zrobiłem.źródło
Dzięki za dotychczasową pomoc, okazuje się, że poprawką było najpierw skompilować HUD.java (kliknij prawym przyciskiem myszy plik-> Kompiluj HUD.java). Po skompilowaniu pliku java reszta projektu mogła zostać skompilowana bez żadnych problemów.
Naprawdę nie wiem, dlaczego to naprawiło lub dlaczego IntelliJ nie zrobił tego automatycznie, ale błąd root wydaje się mieć związek z tym, że IntelliJ nie obsługuje poprawnie wielu klas w jednym pliku .java.
źródło
mvn com.zenjava:javafx-maven-plugin:2.0:fix-classpath
. Ma na celu przeniesienie jar javafx z katalogu libs do katalogu ext dla aktualnego pakietu JDK. Znalazłem to tutaj .Musiałem kliknąć projekt prawym przyciskiem myszy i wybrać „Reimport” z podmenu „Run Maven”.
źródło
Dla mnie - wypróbowałem te kroki (Unieważnij pamięć podręczną i uruchom ponownie, Maven Reimport)), ale nie zadziałały. Więc usunięta
.idea
,.settings
oraz.project
folder i próbował - to działało.źródło
.idea
folderu zrobiło to za mnie.W moim projekcie używam mavena. Z jakiegoś powodu IntelliJ dawał mi tego rodzaju dziwne błędy. Uruchomiłem mvn w czystości i spróbowałem ponownej synchronizacji, a te błędy zniknęły.
źródło
Zdarzyło mi się to, gdy usunąłem folder, a następnie skopiowałem go i wkleiłem z powrotem do projektu.
Right-click project folder -> Rebuild
pracował dla mnie.źródło
Napotkałem ten sam problem i jest wiele rozwiązań podanych w odpowiedzi, wypróbowanie wszystkich tych rozwiązań zajęło mi sporo czasu, więc tutaj chciałbym zaproponować podejście metodyczne, jeśli pojawi się ten błąd.
Sprawdź następujące rzeczy, utwórz / zaktualizuj, jeśli czegoś brakuje
Jeśli wszystko jest w porządku, możesz spróbować następujących rozwiązań w podanej kolejności
Ponownie skompiluj plik / moduł
Jeśli to nie rozwiązało problemu, spróbuj odświeżyć zależność maven i skompilować projekt przy użyciu
Maven -> Reimport
iBuild -> Rebuild Project
Próbować
mvn clean install -DskipTests
Spróbuj unieważnić pamięć podręczną IntelliJ i zrestartuj IDE, używając
File > Invalidate caches/ restart
Usuń folder .idea i ponownie zaimportuj projekt
Podziękowania i podziękowania dla wszystkich, którzy odpowiedzieli na to pytanie, możesz odwołać się do ich odpowiedzi, aby uzyskać dokładniejszy opis każdego punktu.
źródło
Wiem, że to stare pytanie, ale zgodnie z moim niedawnym doświadczeniem dzieje się tak, ponieważ zasoby kompilacji są albo usuwane, albo Idea nie może rozpoznać ich jako źródła.
Gdziekolwiek pojawi się błąd, podaj źródła dla folderu / katalogu, a ten błąd musi zostać rozwiązany.
Czasami, nawet jeśli przypisujemy źródła dla całego folderu, poszczególne klasy mogą być nadal niedostępne. Dla początkujących użytkowników prostym rozwiązaniem jest zaimportowanie nowej kopii i ponowne zbudowanie aplikacji, aby była gotowa do użycia.
Po tym zaleca się wykonanie czystej instalacji.
źródło
ponowna kompilacja głównej klasy Application.java zrobiła to za mnie, kliknij prawym przyciskiem myszy klasę> Rekompiluj
źródło
Wiem, że ten wątek jest stary, ale innym rozwiązaniem było uruchomienie
$ mvn clean install -Dmaven.test.skip=true
A na IntelliJ do CMD + Shift + A (Mac OS) -> wpisz „Reimport all Maven projects”.
Jeśli to nie zadziała, spróbuj wymusić ponowne pobranie zależności maven
$ mvn clean -U install -Dmaven.test.skip=true
źródło
mvn install
ed, IntelliJ nie widział tych odniesień i zawiódł środowisko uruchomieniowe.Dla mnie był to problem z Lombok, ponieważ wymaga on włączenia przetwarzania adnotacji. Możesz znaleźć to pole wyboru na
Settings > Build > Compiler > Annotation Processors
źródło
W moim przypadku problem polegał na użyciu eksperymentalnej funkcji Lombok @UtilityClass w moim projekcie java w Intellij Idea, aby oznaczyć metody klasy jako „statyczne”. Kiedy jawnie ustawiłem każdą metodę klasy jako „statyczną” zamiast używać adnotacji, wszystkie problemy z kompilacją zniknęły.
źródło
Ponieważ jest to pierwsze trafienie w Google wyszukujące błąd „intelliJ nie może znaleźć symbolu”, dorzucę również moje rozwiązanie.
Problem polegał na tym, że mój projekt pochodzi z Eclipse, a niektóre pliki zawierały zależności od klas, które zostały wygenerowane
src/generated-sources
przez specyfikacje w pom.xml. Z jakiegoś powodu nie zostało to poprawnie wykonane, kiedy po raz pierwszy otworzyłem projekt, a odbudowanie / ponowne importowanie nie pomogło, więc pliki nigdy nie zostały wygenerowane.Rozwiązaniem było kliknięcie modułu prawym przyciskiem myszy i wybranie
Maven -> Generate Sources and Update Folders
To rozwiązało problem i mogłem skompilować.źródło
Upewnij się, że plik źródłowy klasy Java, do której próbujesz się odwołać, ma
.java
rozszerzenie. Tak było.aj
w moim przypadku (musiałem wcisnąć „Utwórz aspekt” zamiast „Utwórz klasę” podczas jej tworzenia). IntelliJ pokazuje tę samą ikonę dla tego pliku, co dla „normalnej” klasy, ale kompilator nie widzi jej podczas budowania.Zmiana,
.aj
aby.java
naprawić to w moim przypadku.źródło
Czasami żądana klasa znajduje się w
test
katalogu źródłowym. W każdym razie mi się to przytrafiło…źródło
Miałem ten sam problem, poza tym, że importowałem klasy, dla których zależności nie były w jakiś sposób rozwiązywane. Odświeżyłem projekty maven, Rebuild Project. To nadal nie rozwiązało. Wygląda na to, że IntelliJ niepoprawnie buforował coś. Zrestartowałem IntelliJ i to rozwiązało zależności. Myślę, że w jakiś sposób wyczyściło pamięć podręczną.
źródło
Jeśli używasz Lombok, upewnij się, że masz włączone przetwarzanie adnotacji.
źródło
Widzę wiele odpowiedzi proponujących kompilację lub przebudowę, ale na wypadek, gdyby to nie rozwiązało problemu, po prostu zauważ, że IDEA może wykryć metodę, ale nie skompiluje się, jeśli masz wcześniejszą
new
wersję, tak jak będzie oczekując instancji.źródło
W moim przypadku miałem problem ze znalezieniem klasy z innego modułu. W
pom.xml
, po prostu miałem tę zależność z<scope>compile</scope>
określonym. Usunięcie tej linii pomogło.źródło
Wiem, że to jest stare, ale dla każdego innego upewnij się, że brakująca klasa znajduje się w tym samym pakiecie co klasa, w której pojawia się błąd / skąd ją wywołujesz.
źródło