IntelliJ не може знайти жодних декларацій


131

Я повністю видалив IntelliJ і тепер перевстановив та імпортував мій проект. Я імпортував за допомогою gradle і бачу всі файли в моєму проекті. Однак, коли я відкриваю файл, я не можу знайти жодної декларації, яку слід перейти, виконавши cmd + click. У мене встановлено Java 7 SDK, і я навіть не можу перейти до декларування класів у власному проекті. Перехід до основного класу Java, як, Stringабо Listне працює. Як я можу дозволити IDE мати можливість знаходити свої класи?

Я на OSX Yosemite, IntelliJ 2016.1.2, збірка 145.972.


30
Чи позначений ваш вихідний каталог як вихідний маршрут? Якщо ні, клацніть правою кнопкою миші на каталозі з класами java, а потім: Позначити каталог як -> Коріння джерел
AniaG

У моєму випадку мені потрібно було позначити свою папку ресурсів a Resources Root.
Генфуд

1
Тут також працювали, але трохи
дурно,

Відповіді:


266

У мене була ця сама проблема, і рішення @ AniaG у коментарях працювало на мене.

  • Клацніть srcпапку правою кнопкою миші
  • Позначте Каталог як > Коріння джерел

введіть тут опис зображення


1
У контекстному меню більше немає опції "Позначити каталог як". Використовуйте CMD + shift + A, щоб знайти дію "маркування каталогів як"
Leo Droidcoder

3
Я все ще бачу це як варіант у IntelliJ IDEA 2017.1.3
Томас

6
Позначте javaпапку замість srcробіт для мене
Searene

Коли я це встановив, помилки показують весь проект. Що не так.
JustCode

1
Маючи структуру каталогів Maven, мені довелося позначити src / main / java як джерело Root, src / main / ресурси як корінь ресурсів, а тестові каталоги як аналоги джерел тестування. Мені завжди потрібно контролювати свій «кулак смерті», коли якийсь n00b поблажливо каже мені, що «розвиток з Intellij відбувається набагато швидше, ніж із Eclipse».
Стів Гелман

40

Я зіткнувся з тією ж проблемою і витратив майже 15-16 стомлюючих годин, щоб очистити, відновити, вимкнути кеш-пам'ять, оновити Ідею з 16.3 до 17.2, все даремно. У нас є проект, керований Maven, і збірка була успішною, але просто не могла орієнтуватися між деклараціями / реалізаціями, оскільки Idea не бачила файлів.

Після нескінченних спроб виправити це, нарешті, мені зрозуміло, що це параметри IDEA викликають всі головні болі. Ось що я зробив (система Windows):

  1. Вихід із IDE
  2. Рекурсивно видаляйте всі .imlфайли з каталогу проекту del / s / q "C: \ Dev \ trunk \ *. Iml"
  3. Знайдіть і видаліть усі .ideaпапки
  4. Видаліть вміст папок кешів, індексів та папок LocalHistory під <user_home>\.IntelliJIdea2017.2\system
  5. Відкритий проект ідеї та імпорту ....

VOILAAAAAAAAAAAA ... !! Я сподіваюся, що це допомагає бідній душі від болю


1
Де система .IntelliJIdea2017.2 \? Це специфічна система шляху?
Даніель Рейна

Я відчував це для build.gradle.ktsфайлів, а також видалив .ideaкаталог і. imlФайлу проекту було достатньо, щоб вирішити проблеми. Зауважимо: це відкривало проект Linux у Windows (обидві версії IntelliJ були однакові - 2019.3)
Натан

Чудово !! На MaxOS видаляю лише вирішену для мене папку .idea (всі .iml файли були всередині неї).
ВадимБелов

18

У мене була така ж проблема з ідеєю, і я намагався відкрити проект Maven, але пом-файли, де не було визначено. Тож клацання правою кнопкою миші на файл пом і вибір "Додати як проект Maven" зробив для мене все чари :)


1
так само, але для мене це був "реімпорт"
jsharp

Те саме! Одразу після "add as maven project" мені довелося знову клацнути правою кнопкою миші pom.xml -> Maven -> Reload Project. і він почав навігацію :)
QauseenMZ

12

У мене виникли подібні проблеми в моєму проекті IntelliJ mvn. Pom.xml не було розпізнано Що для мене працювало - це клацнути правою кнопкою миші на pom.xml, а потім додати як проект Maven.


1
Те саме! Одразу після "add as maven project" мені довелося знову клацнути правою кнопкою миші pom.xml -> Maven -> Reload Project. і він почав навігацію :)
QauseenMZ

9

Була така ж проблема. Але тільки на власних методах.
Просто виправили це шляхом недійсного кешу: (File-> Invalidate Caches / Restart)


6

Якщо на піктограмі файлів Java ви побачите червоне коло та отримали попередження на кшталт "не вдається знайти декларацію для переходу". Тоді ви можете зробити щось нижче:

  1. Клацніть правою кнопкою миші кореневу папку вашого проекту / модуля.
  2. Позначити каталог як -> Виключено.

введіть тут опис зображення

Це працює для мене. в Windows 7, Intellij 2016.1.1


5

Ваші папки-джерела, де містяться ваші символи (Класи), повинні бути налаштовані як "Корінь вмісту".

  • Відкрита структура проекту: #;
  • Клацніть Модулі
  • Ви можете налаштувати корінь вмісту (джерела, тести, ресурси тощо) для кожного модуля, до якого ви хочете перейти.

Після цього ви зможете перейти до своїх символів.


5

У більшості випадків виникали проблеми зі створенням кешу IDE або чимось пов’язаним із цим.

Швидше за все, File -> Invalidate Caches / Restartвирішить цю проблему, просто дозвольте IDE доопрацювати кешування.


3

Я знайшов цю cannot find declaration to go toпроблему один раз у своєму проекті Maven. Причиною цього було лише те, що один із підпроектів у моєму проекті не імпортував як основний проект правильно.


3

Клацніть правою кнопкою миші на вашій папці src та виберіть параметр "позначити каталог як" - "вихідний корінь", а разом з ним знову клацніть правою кнопкою миші на вашому проекті та виберіть "код переформатування" (під цим також виберіть код очищення), і це буде добре працювати.


2

Переконайтесь, що каталог, який містить ваші складені класи та бібліотеки, позначений як джерела Root.


2

У моєму випадку я лише оновив свій IntelliJ до Ultimate 2018.2, і всі мої проекти раптом не можуть знайти реалізацій та папок 'src' - виявилося, IntelliJ видалив тип проекту (наприклад, Maven).

Що я зробив:

Клацніть правою кнопкою миші на кореневому проекті> Додати підтримку Framework ...> Шукайте Maven (у моєму випадку)> Зачекайте повторного індексування> Потім він знову працював.


ОНОВЛЕННЯ 2:

Я завжди стикався з цим, коли оновлював IntelliJ (2019.1.1 Ultimate Edition). Просто натисніть кнопку оновлення Maven Tab, і він повинен переіндексувати ваш поточний проект як Maven Project:
введіть тут опис зображення


2

Однією з причин може бути те, що він не в змозі виявити pom.xml (або файл gradle), а тому не зможе встановити його як проект maven (або gradle).

Ви можете вручну налаштувати його як проект Maven (або gradle), вибравши файл pom.xml (або файл gradle)


1

IDEA може ігнорувати деякі ваші файли залежності Maven. Вузол "Зовнішні бібліотеки" у вашій структурі проекту може бути порожнім або неповним.

Йти до:

  1. IntelliJ -> Налаштування
  2. Шукайте Maven [на лівій вкладці] -> Ігноровані файли
  3. Перевірте, чи є правий бік шляху, який перевіряється (ігнорується), і зніміть його.введіть тут опис зображення

Ви також можете змінити це на вкладці Maven. Проігноровані модулі виявляться сірими
Def_Os

1

Прийшов із тієї ж проблеми, і в моєму випадку (проект Java) я повинен був включити всі залежні банки в розділ бібліотеки проекту.

Файл -> Структура проекту -> Бібліотеки

Мені довелося додати мої банки, що залежать від проекту, у вищевказаний розділ (наприклад; project / web / lib /). Після цього все вирішено штрафом. Я сподіваюся, що це комусь допоможе.


0

У моєму випадку я використовував проект gradle з підпроектами. Причиною, по якій IntelliJ не міг знайти декларацій, було те, що підпроекти не були побудовані.

Дослідивши, чому підпроекти не були побудовані, я з'ясував, що використання "автоматичного імпорту" порушує підпроекти.

Після імпорту проекту build.gradle без автоматичного імпорту він працював для мене.


0

Що для цього варто, в Pycharm це: Клацніть правою кнопкою миші на кореневій папці-> Позначити каталог як-> Коріння джерел


0

Та ж проблема для проекту Python !!!

Я спробував зробити новий проект Intellij і оновив усе. Спробував різні віртуоли, але нічого не вийшло.

До моменту я знову видалив модуль Python + Перезапустити IntelliJ + Intall Python Plugin + Перезапустити IntelliJ ще раз. Я не впевнений, чи це "справжнє" рішення, але це вирішило моє питання.

Можливо, ви можете спробувати щось знайоме для Java "Плагін" / JDK?


0

У моєму випадку ніщо з вищесказаного не допомогло. Допомогло лише оновлення Intellij з 2017.3 до 2018.2.

Не намагайтеся 2018.1, оскільки у нього була помилка, в якій спливаючі файли Find файлів не з’являться.


0

Для тих, кого вищевказане рішення не спрацювало.

Для градле,

Файл -> Структура проекту

Натисніть на Project Under Подивитись профіль Налаштування проекту

Оновити рівень мови проекту як модулі, приватні методи в інтерфейсах тощо.

Натисніть кнопку ОК та імпортуйте параметри Gradle

Структура проекту


0

Якось я встановив свої модулі Maven ігнорувати. У вікні інструменту Maven клацніть правою кнопкою миші та виберіть "Unignore Projects".

Тоді всі каталоги будуть автоматично обрані.

введіть тут опис зображення


0

Я теж стикався з цим питанням. Я спробував рішення, згадані тут. Здається, проблема не в папці-джерелі.

Для мене проблема виникла, коли я встановив нову версію IntelliJ, використовував версію 2019 року, перейшов на версію 2020 року. Проект відкрили у новій версії, але декларації були відсутні.

Я це зафіксував:

 - File>Project Structure.  
 - Under Project Settings go to Modules. Here you should see the different project folders, for me it was not there. 
 - Click the + button on top and click Import Module.
 - Select the root pom.xml and wait for the indexing to complete.

Після індексації всі декларації спрацювали.


-1

Якщо ви не новачок у IntelliJ, можливо, знадобиться певний час, щоб зрозуміти IntelliJ. Якщо Кодекс написаний на Java та використовує рамки для огірків, то у нас є два основні файли -

  1. Файл функції
  2. Файл визначення кроку

Мета: які речі ми визначили у файлі функцій, слід перейти до файлу визначення кроку. (Ctrl + клацання) Примітка: файл функції також повинен містити кілька барвистих ключових слів корнішонів. Якщо це не буде, виконайте наведені нижче дії

Рішення: перейдіть у файл >> налаштування >> плагіни - знайдіть “Огірок для Java” Додайте перезапуск плагіна IntelliJ, він буде працювати точно.


Огірок для Java поставляється в комплекті з IntelliJ
dustinevan
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.