Ten problem występuje sporadycznie w różnych bibliotekach i różnych projektach. Podczas próby zaimportowania biblioteki pakiet zostanie rozpoznany, ale nazwy klasy nie można rozpoznać.
Jeśli w instrukcji importu right-click -> Goto -> the package's declaration
widzę wszystkie zdekompilowane klasy wyświetlane w panelu bocznym - w tym te, których potrzebuję - Jeśli próbuję automatycznie uzupełnić instrukcję importu, zauważam, że potrzebna mi klasa nie jest uwzględniona w upuścić.
Próbowałem już unieważnić pamięci podręczne, nie działa. Nie mogę znaleźć żadnych konfliktów klas - w mojej ścieżce klas nie ma innego pliku jar o tej samej nazwie pakietu. Jestem w stanie zaimportować tę klasę do innych projektów.
Zobacz zrzuty ekranu:
Czy ktoś ma wskazówkę?
źródło
Odpowiedzi:
możesz spróbować unieważnić pamięć podręczną i zrestartować intellij, w wielu przypadkach to pomoże.
Plik -> Unieważnij pamięć podręczną / Uruchom ponownie
źródło
Może być wiele przyczyn takiego stanu rzeczy. W moim przypadku był to zły problem ze źródłem. Unieważnij pamięci podręczne nie działały razem z innymi rozwiązaniami.
Sprawdź katalogi źródłowe modułów.
Struktura projektu ( Ctrl+ Alt+ Shift+ S).
Moduły
Wybierz moduł problemu.
Zmień zakładkę w górnej części okna „Źródła”.
Usuń niechciane korzenie źródłowe. Zachowaj jeden i dodaj src i przetestuj korzenie źródła w tym katalogu głównym.
źródło
IntelliJ ma problemy z rozwiązywaniem zależności. Spróbuj wykonać następujące czynności:
źródło
Sprawdź zależności modułów.
źródło
Uruchom to polecenie w konsoli projektu:
Gotowe. Miałem ten problem wiele razy. Wypróbowano „Unieważnij pamięć podręczną i uruchom ponownie” i wszystkie inne rozwiązania. Uruchamianie tego polecenia działa dla mnie idealnie. Obecnie używam IntelliJ 2019.2, ale stało się to również w poprzednich wersjach i rozwiązanie również działało.
źródło
Miałem podobny problem, komentarz Mike'a pomógł mi podążać w kierunku jego rozwiązania.
Chociaż wymagana biblioteka była również częścią modułu w moim projekcie, wymagała zmiany zakresu. W zależności od modułu zmieniłem zakres na „ Kompiluj ” zamiast „ Testuj ” i teraz działa dobrze.
źródło
Plik -> Unieważnij pamięć podręczną / Uruchom ponownie lub odbuduj projekt nie działa.
W moim projekcie Gradle działało „Odśwież wszystkie projekty Gradle” z zakładki Gradle w prawym górnym rogu IntelliJ v2017, używając żółtego przycisku pokazanego poniżej:
źródło
Uważam, że następująca odpowiedź z @ jossef-harush i @ matt-leidholm jest przydatna z innego linku
Integer
na przykład) i naciśnij ALT+ ENTER(lub kliknij ikonę żarówki)Setup JDK
z menu intencjeConfigure
JDK
ścieżka była nieprawidłowa (wskazana/opt/jdk1.7.0_51
zamiast/opt/jdk1.7.0_65
)JDK
ścieżkiźródło
Plik -> Unieważnij pamięć podręczną / Uruchom ponownie i skompiluj swój projekt
źródło
Kliknij prawym przyciskiem myszy plik pom.xml, przejdź do Maven i kliknij Reimport. Miałem podobny problem i to zadziałało.
źródło
Próbowałem unieważnić pamięci podręczne i zrestartować komputer, ale jedyną rzeczą, która działała, było całkowite wyczyszczenie katalogu .idea, a następnie utworzenie nowego projektu od zera.
źródło
Ten błąd pojawia się również wiele razy, gdy próbuję zbudować nowy projekt Java.
Poniżej znajduje się krok, w którym dostałem ten głupi problem.
src/main/java
.net.gongmingqm10.sketch
.gradle wrapper
,gradle idea
do zbudowania rzeczy gradle dla projektu.build.gradle
pliku igradle build
ponownie zaimportuj projekt.User.java
iwSchool.java
istniejącym pakiecienet.gongmingqm10.sketch
Rozwiązanie:
Najpierw zbuduj projekt i oznacz plik main / java jako katalog źródłowy. Utwórz nowy katalog o tej samej nazwie
net.gongmingqm10.sketch
. Przenieś wszystkie pliki ze starych kłopotliwych pakietów do nowego pakietu.Główna przyczyna:
Drzewo katalogów kodu źródłowego
Jak widać z drzewa. Mam katalog o nazwie
net.gongmingqm10.sketch
. Ale to, czego naprawdę potrzebujemy, to katalog 3 poziomów: net-> gongmingqm10-> sketchAle zanim skończę budować mój projekt w Intellij, tworzę nowy katalog o nazwie
net.gongmingqm19.sketch
, który da mi prawdziwy katalog z tą nazwąnet.gongmingqm10.sketch
.Kiedy próbujemy go zaimportować. Oczywiście, w jaki sposób intellij może zaimportować plik do katalogu weired o nazwie
a.b.c
.źródło
@Anton Dozortsev Podobne zachowanie doprowadziło mnie do szału; Skończyło się na tym, że kilka razy ponownie instalowałem IDE, omijając problem dopiero po usunięciu aplikacji IDEA, wszystkich pamięci podręcznych, preferencji itp.
W międzyczasie próbowałem wykonywać różne czynności (takie jak ponowne uruchamianie, unieważnianie, usuwanie
.idea
i*.iml
pliki i inne).Okazuje się, że problem był spowodowany
idea.max.intellisense.filesize
ustawieniem IntelliJ . Ustawiłem go na 100KB, czyli mniej niż rozmiar mojej zależności, co doprowadziło do tego, że IntelliJ pokazał go jako nieznany, tak jak na twoim zrzucie ekranu.Naprawić:
Kliknij Pomoc -> Edytuj właściwości niestandardowe
Ustaw właściwość na większą wartość; wartość domyślna to 2500 KB
idea.max.intellisense.filesize=2500
źródło
Miałem ten sam problem, dopóki nie zauważyłem, że folder src został oznaczony jako źródło root zamiast java ! Zmiana na java (src / main / java) jako źródłowa root rozwiązała mój problem
źródło
Po długich poszukiwaniach odkryłem, że zależność została w jakiś sposób uszkodzona na moim komputerze w projekcie maven. Dziwne było to, że zależność nadal działała poprawnie w skompilowanym kodzie java. Kiedy jednak wyczyściłem i odbudowałem pamięć podręczną zależności mavena, problem zniknął i IntelliJ rozpoznał pakiet. Możesz to zrobić, uruchamiając:
Co ciekawe, źródłem mojego problemu nie był IntelliJ, ale sam maven.
źródło
Proszę spróbować Plik-> Synchronizuj. Następnie zamknij i ponownie otwórz IntelliJ przed unieważnieniem.
Raz uruchomiłem ponownie. Unieważniłbym, ale synchronizacja wyczyściła wszystko po ponownym uruchomieniu.
źródło
Prosty restart działał dla mnie.
Sugerowałbym najpierw spróbować z restartem, a następnie możesz zdecydować się na unieważnienie pamięci podręcznej.
PS: Wyczyszczenie pamięci podręcznych systemu spowoduje wyczyszczenie historii lokalnej.
źródło
Miałem podobny problem z moim importowanym projektem Maven. W jednym module nie może rozwiązać symbolu podczas importu dla części drugiego modułu (tak, część tego modułu może zostać rozwiązana).
Zmieniłem „katalog domowy Mavena” na nowszą wersję rozwiązało mój problem.
Aktualizacja: Dobra przez 1 godzinę, powrót do stanu zepsutego ...
źródło
Znalazłem przyczynę!
W moim przypadku dodaję plik jar zawierający jakiś plik źródłowy java, ale myślę, że źródło java jest złe, w bibliotece zależności Intellij Idea automatycznie dodaje źródło, więc w Edytorze import jest ZŁY , PO PROSTU usuń kod źródłowy w " Struktura projektu "->" Biblioteka ", u mnie działa.
źródło
Zrobiłem to dla mnie, aby edytować plik pakietu w folderze .idea, ponieważ przypadkowo dodałem źródła do tej biblioteki jar, a Android nie mógł go rozwiązać, usuwając linię źródeł, jak zaznaczono w błędzie biblioteki obrazów b / m .
Następnie odbuduj gradle i bam problem rozwiązany.
źródło
Miałem ten sam problem, a powodem tego było nieprawidłowe oznaczenie źródeł projektu.
Ręcznie utworzyłem zawartość główną i nie zauważyłem, że
src/main/test
folder został oznaczony jakoSources
zamiastTests
. Więc dlatego przyjęto moje zajęcia testowe mieć wszystkie swoje biblioteki testowe (JUnit
,Mockito
etc.) z zakresu kompilacji nie testów.Jak tylko oznaczyłem
src/main/test
jako Testy i przebudowałem moduł, wszystkie błędy zniknęły.źródło
Miałem to niedawno, próbując użyć Intellij do pracy na NiFi, okazało się, że problem polegał na tym, że NiFi wymaga Maven> = 3.1.0, a wersja, z którą sprawdzałem (domyślam się, że moja) to 3.0.5. Aktualizacja wersji Mavena dla projektu naprawiła ten problem, więc w niektórych przypadkach nieprawidłowe wyrównanie wersji Mavena może wyglądać ... Myślę, że jest to dość niezwykłe, ale jeśli zajdziesz tak daleko, prawdopodobnie masz nietypowy problem :)
źródło
Ten sam problem. Jeśli te metody nie działają. możesz spróbować usunąć bibliotekę z lokalnego repozytorium maven i ponownie zaimportować do pom.
W końcu to dla mnie w porządku.
źródło
file
->Project Structure
->Modules
, znajdź moduł z problemami, kliknij go i wybierzDependencies
zakładkę po prawej stronie. Kliknij zielony znak plus, spróbuj dodać słoik lub biblioteki, które powodują problem. To działa dla mnie.źródło
Nic, co próbowałem powyżej, nie działało dla mnie (nie to, że wypróbowałem każdą sugestię). W końcu udało się zmienić nazwę klasy - po prostu dodałem 2 do nazwy klasy i nazwy pliku. Następnie rozwiązałem wszystkie odniesienia ręcznie. (Ponieważ nie zostały rozpoznane, refaktoryzacja nie zmieniła automatycznie odniesień).
Gdy "wersja 2" została szczęśliwie rozwiązana wszędzie, byłem w stanie refaktoryzować i usunąć 2 z klasy i pliku, i wszystko było tak, jak powinno.
źródło
w moim przypadku rozwiązaniem było dodanie projektu jako projekt mavena, poza tym, że zaimportowałem jako projekt maven: P
przejdź do pom.xml -> kliknij prawym przyciskiem myszy -> dodaj jako projekt maven
źródło
Intelli iDEA powoduje te głupie problemy @ razy. Proste goto pom.xml, kliknij prawym przyciskiem myszy i zrób -> Maven -> Reimport.
To powinno rozwiązać problem.
źródło
W przypadku edycji 2020.1.4 Ultimate musiałem wykonać następujące czynności
View -> Maven -> Generate Sources and Update Folders For all Projects
Dla mnie problemem było to, że biblioteki nie były zapełniane z
mvn -U clean install
terminala.źródło
Brakuje
io
? Spróbujimport org.openide.util.io.ImageUtilities
.źródło