Чому так червоний? Схоже, IntelliJ вважає, що кожну декларацію / метод неможливо знайти / вирішити


122

Я щойно встановив і перевстановив IntelliJ. Кожен файл Java з'являється червоним. Я перевірив JDK; це на 1.6. ##. maven clean installСкладання працювали просто відмінно.

Я отримую звичайні виділені помилки. У кожній декларації:

Неможливо вирішити символ SomeEntityBean / Bean

і про кожен метод:

Не вдається вирішити метод SomeFunction ()

Як виправити ці помилкові помилки?


Відповіді:


197

IntelliJ іноді все плутає сам, навіть без описаних зовнішніх змін Корген (хоча це хороший спосіб послідовного відтворення).

Клацніть Файл -> Синхронізувати , і IntelliJ повинен побачити, що знову все в порядку.

Якщо це не спрацює, кеші IntelliJ можуть бути пошкодженими (це відбувалося набагато частіше, ніж зараз); у такому випадку відновлюйте їх

Клацнувши по файлу -> Недійсний кеш і перезапуск IDE

(хоча завантаження проекту займе певний час, коли кеши будуть відтворені).


3
Дякую. Дуже корисний. Я використав "Недійсний кеш" в крайньому випадку, і це спрацювало.
Oz Molaim

1
Недійсні кеші -> Перезапуск IntelliJ -> Синхронізація працювала на мене. Дякую.
emrahgunduz

сподіваємось, зрештою, ви зможете визнати недійсним і зберегти краєзнавство?
ycomp

Врятував мій день. Дякую Метт.
Ашіш Сінгх

50

Я пережив це, коли оновив JDK вручну та видалив попередній JDK

Червоні ключові слова

Рішення

  • У редакторі IntelliJ натисніть на червоне ключове слово ( Integerнаприклад) і натисніть ALT+ ENTER(або натисніть значок лампочки)
  • виберіть у меню намірів налаштування JDK

Меню намірів IntelliJ

  • натисніть на Configure

Діалогове вікно вибору SDK проекту

  • У моєму випадку шлях JDK був неправильним (вказано на /opt/jdk1.7.0_51замість /opt/jdk1.7.0_65)

Не вдалося налаштувати діалогове вікно SDK

  • Клацніть на ...і перейдіть до правильного шляху JDK

Виправлено налаштування діалогового вікна SDK

  • Очистимо кеш:

Меню файлів IntelliJ

І все має повернутися до життя :)

Немає червоних ключових слів


як робити в mac
nil96

32

Інколи IntelliJ колись плутається після імпорту великих проектів, а потім заміни Poms зовні або генерування джерел за межами IntelliJ.

Ви можете спробувати повторно імпортувати maven-> force зсередини intellij у корені проекту


2
як не дивно, це насправді спричинило для мене "червоний стан попередження", що недійсні кеші згодом очищаються.
barclay

4
де "maven -> сила реімпорту"? Де реальна настройка / варіант для цього?
Стелс-рабін

@StealthRabbi Клацніть правою кнопкою миші будь-де на структурі проекту, потім Maven> Reimport ...
Родріго Мартінс де Олівейра

Або ви також можете використовувати Ctrl + Shift + A, введіть "Reimport" і виберіть: "Reimport" або "Reimport All Maven Projects" (сумнівайтеся, повторно імпортуйте все).
Родріго Мартінс де Олівейра,

7

Мою проблему вирішили, змінивши jdk на типовий , як це. Відкритий Jdk був встановлений, але не знаю, чому конфігурація intellij встановлена ​​на java-8-openjdk-amd64 . У цьому і була проблема. Я змінив стандарт-java і більше не було червоної помилки.

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


7

У моєму випадку залежність від геттера та сетера переходить через плагін lombok (Використання Java з Spring). І в новій установці ідеї intellij я не встановив плагін lombok. Встановлення плагіна lombok виправило мене.


Це те, що викликало проблему для мене. IntelliJ не зрозумів розробників та сетерів, створених за допомогою анотації. Дякуємо за виправлення!
rabowlen

5

У мене була така ж проблема, змінивши JDK з 1,6 на 1,7 у своєму pom.xml та встановивши Maven 3 path + налаштування проекту JDK на 1,7.

Що для мене це було => Файл -> Недійсні кеші та перезапуск

PS: Проблема виникла знову, тому я просто повторно імпортував повний проект після видалення папки .idea і тепер він працює нормально, як зазвичай :)


1
Я переглядав усі низько висячі фрукти, намагаючись знову зробити так, щоб підсвітка працювала, і з вашим коментарем я зрозумів, що, можливо, OSX запустив моє 1.6 JDK в оновлення ... це було. І це перемістило Java з / Система / Бібліотека в / Бібліотека. Дякуємо за публікацію
rwheadon

Здається, після оновлення до 1.7 та оновлення ідеї вони вирішили проблему. знову не виникло.
0x126

4

Перевірте, чи у вас є правильне налаштування SDK JVM в IntelliJ Properties. Якщо недійсного кешу-і-перезапуску недостатньо, перевірте, чи використовуєте ви належний JVM SDK, наприклад Java 1.7.

Подивіться: Налаштування -> Налаштування IDE -> Scala -> SDK JVM

Або клацніть правою кнопкою миші ваш проект -> Відкрити налаштування модуля -> Налаштування проекту -> Проект -> SDK проекту -> (Встановити на Java 1.7)

Відкрийте Налаштування модуля -> Налаштування платформи -> SDK -> (Переконайтеся, що існує Java 1.7, інакше вам потрібно буде додати її)

Якщо ви внесли зміни, то, ймовірно, найкраще повторно запустити Invalidate Cache & Restart.


3

Це якщо ви бачите класи Java червоним кольором і отримуєте помилку "Неможливо вирішити символ" .

Якщо ви імпортуєте проекти в IntelliJ, і жодне з перерахованих вище рішень не працювало на вас, то спробуйте це. Це те, що працювало для мене, коли все інше не вдалося.

Перейдіть у папку свого проекту та перейменуйте / видаліть папку .idea, яка має параметри ідеї для вашого проекту. Це було б створено з вашої старої версії IntelliJ. Після перейменування / видалення папки .idea імпортуйте свій проект у IntelliJ. Ви не повинні бачити жодних помилок для ваших класів Java. Сподіваюся, що це допомогло.


Це єдине, що насправді працювало для мене після оновлення IntelliJ. Дякую!
wulftone

3

Якщо ви все ще отримуєте цю помилку, навіть після того, як ви спробували всі інші пропозиції з цього питання, ви перевірили всі свої JDK, Maven налаштування, недійсний кеш, синхронізували робочу область і перезапустили, але все ще не працюють Ви перейдіть до каталогу проектів і видаліть всю .ideaпапку. Перезавантажте ваш IntelliJ; всі файли внизу .ideaбудуть створені свіжо, що відображає поточну ситуацію.

Принаймні, це працювало для мене.


Я теж все пробував і нічого не вийшло. Нарешті я взяв резервну копію папки .idea -> видалив її -> знову відкрив проект -> закрито -> поклав назад .idea -> знову відкрив. Я думаю, що для мене деякі кешовані файли раніше не видалялися.
Вібха

2

У мене IntelliJ IDEA 12.x на Mac, і я використовую Maven 3, і я отримую червоне виділення над своїм кодом, навіть якщо збірка Maven чудова. Жодне з перерахованого вище (переіндексація, примусовий імпорт тощо) не працювало для мене. Мені довелося зробити наступне:

Intellij -> Preferences -> Maven -> Importing
    [ ] Use Maven3 to import projects

Мені потрібно перевірити варіант імпорту Maven3, і це вирішить проблему.


Я перейшов на, Maven 2а потім повернутися до Maven 3. Ці кроки явно вирішили проблему для мене.
Chaklader Asfak Arefe

2

Ще одна робота навколо! Одне з рішень, яке запропонувало натиснути Alt Enter, не мав для мене Setup JDK, але Add ... to classpathпрацювало.


1

У мене була така ж проблема.

У моєму випадку проблема була з maven home directoryі user settings fileв налаштуваннях Intellij під Maven. Я встановив Maven не в каталозі за замовчуванням, і я також змінив розташування settings.xmlфайлу. Це також слід змінити в налаштуваннях IntelliJ.

Сподіваюся, що це також допомагає.


0

Я намагався використати всі поради, описані вище, але, на жаль, ніхто мені не допомагав. Тож нарешті я вирішив видалити свою робочу область intelij та створити нову - це допомогло :) Але раніше я також займався очищенням кешу, реімпортом проектів Maven, очищенням проектів та відновленням.


0

У мене була така ж проблема, і, випробувавши всі наведені вище пропозиції, виявилося, що моя установка IntelliJ не підібрала мою системну змінну JAVA_HOME, і вона не мала встановленого SDK / JDK.

Я виправив це, дотримуючись цих інструкцій: Налаштування глобальних, проектних та модульних SDK



0

Проблема полягала в тому, що файл, який я намагався імпортувати, був настільки великим, що IntelliJ не запускав би на ньому CodeInsights.

Налаштування idea.max.intellisense.filesize параметра для вищого значення, згідно з інструкціями в цій відповіді, вирішило мою проблему.


0

У мене була така ж проблема, що я використовував JDK 1.9 з IntelliJ 14, я вирішив перевстановити Java з останньою версією JDK 1.8 (у цьому випадку 1.8.0_161)

Я також видалив версію 1.9

HKEY_CURRENT_USER \ Програмне забезпечення \ JavaSoft \ JRE \ Базова лінія безпеки


0

У мене була така ж проблема, що для мене виправлено:

Йти до File>Setting>Maven , я встановив домашній каталог Maven, файл налаштувань та локальне репо.

Перейдіть до Maven Projects і натисніть на Reimport All Maven Projects

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

Це зробило трюк!


0

У мене була ця проблема під час нової установки IDEA. Я думав, що він приніс свій JDK або зможе знайти його вже на машині, але, мабуть, ні (не впевнений, що зробив прапорець у діалоговому вікні встановлення зараз). Коли я натиснув на лампочку і натиснув кнопку "Налаштувати JDK", а потім натиснув "Налаштувати", то виявилося, що він намагався отримати JDK від

C:\Program Files\JetBrains\IntelliJ IDEA Community Edition 2018.1\jre64

Я переглянув навколо себе, спробувавши кілька папок у дереві JetBrains, але принаймні діалог був досить розумним, щоб не дозволити мені застосовувати будь-які (включаючи оригінал), кажучи, що вони не є дійсними місцями для JDK. Тому я переглянув дерево дерева і спробував це, і він прийняв це:

C:\Program Files\Java\jdk1.8.0_40

Після того, як я добре налаштував конфігурацію, він, здається, не працював; тому я спробував вимкнути кеш IDEA та перезапустити (як описано в інших відповідях), і мені сказали, що у мене запущені фонові завдання. Тож я скасував цю інвалідність, і поки я робив це, будь-яка рекомпіляція чи оновлення бази даних вона робилася, і все червоне у вікні редагування пішло. Таким чином, потрібні кілька секунд (принаймні), щоб конфігурація JDK розставилася.


0

Спробуйте видалити .IntelliJIdea15 (залежить від версії) з C: \ Users \ Ім'я користувача

Коли ви запускаєте IntelliJ, він знову створить папку.


0

Ще одне рішення щодо IntelliJ Ultimate 2018.2

  • Наведіть курсор на імпорт, позначений червоним кольором
  • Виберіть стрілку спадного меню на спливаючому вікні, що з’являється зліва (внизу)
  • Виберіть "Додати бібліотеку ... до класного шляху"

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



0

Я не міг змусити жодне з цих рішень працювати для мене. Мені довелося вручну перейти до кожного методу / класу, на якому я отримав помилку, та імпортувати її вручну. Після цього все було добре.


0

Використовуючи IntelliJ 2019.3 та проект Gradle, залежний від мого власного проекту Gradle, єдине, що для мене виправило, було Reimport All Gradle Projectsпід View -> Tool Windows -> Gradle(та кнопкою оновлення).

До цього я спробував перезапустити IDE, я спробував "Недійсні кеші та перезавантаження", я спробував "Перебудувати проект", і не допоміг.


0

Я стикаюся з тим же питанням, коли оновлено версію Intellij. Для мене це було вирішено за допомогою старої Maven, ніж тієї, що в комплекті з новим Intellij.


0

Я провів більшу частину дня, пробуючи всі рішення тут, але, здається, нічого не вийшло. Єдине, що для мене працювало - це повністю видалити IntelliJ та встановити його знову. Однак для мене, коли я видалив IntelliJ з папки Application, проблема повернулася, як тільки я її знову встановив. Що я нарешті повинен був зробити, це використовувати програму Cleaner для повного видалення IntelliJ та всіх файлів налаштувань та налаштувань. Після того, як я це зробив і потім перевстановив IntelliJ, проблема нарешті усунулася. Див. Як видалити IntelliJ на Mac


0

Для 2020.1.4 Ultimate edition мені довелося зробити наступне

View -> Maven -> Generate Sources and Update Folders For all Projects

Проблема для мене полягала в тому, що бібліотеки не заповнювались mvn -U clean installтерміналом.

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


0

Спробував недійсний кеш, повторний імпорт проекту, перехід на вбудований Maven, видалення .m2 папки та її частин - нічого не вийшло. Після того, як я повністю зламав Maven (поки він успішно будував проект, тепер він вже не міг), мені довелося перевстановити його з нуля. Це допомогло!

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