Почему такой красный? IntelliJ, кажется, думает, что каждое объявление / метод нельзя найти / разрешить

122

Я только что установил и переустановил IntelliJ. Каждый файл Java становится КРАСНЫМ. Я проверил JDK; это 1.6. ##. maven clean installСборки работали просто отлично.

Я получаю обычные выделенные ошибки. В каждом объявлении:

Не удается разрешить символ SomeEntityBean / Bean

и по каждому методу:

Не удается разрешить метод SomeFunction ()

Как мне исправить эти ложные ошибки?

iCodeLikeImDrunk
источник

Ответы:

197

IntelliJ иногда запутывается сам по себе, даже без внешних изменений, описанных Коргеном (хотя это хороший способ постоянно воспроизводить его).

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

Если это не сработает, кеши IntelliJ могут быть повреждены (раньше это происходило намного чаще, чем сейчас); в этом случае регенерируйте их

Щелкнув File -> Invalidate Caches и перезапустив IDE

(хотя загрузка проекта займет некоторое время, пока кеши воссоздаются).

Мэтт Лейдхольм
источник
3
Спасибо. Очень полезно. Я использовал «Invalidate Caches» в крайнем случае, и это сработало.
Оз Molaim 03
1
Недействительные кеши -> Перезагрузка IntelliJ -> Синхронизация сработала для меня. Спасибо.
emrahgunduz
надеюсь, в конечном итоге вы сможете аннулировать и сохранить местную историю?
ycomp
Спас мой день. Спасибо, Мэтт.
Ашиш Сингх
50

Я испытал это, когда обновил свой JDK вручную и удалил предыдущий JDK

Красные ключевые слова

Решение

  • В редакторе IntelliJ щелкните ключевое слово красного цвета ( Integerнапример) и нажмите ALT+ ENTER(или щелкните значок лампочки)
  • выберите Setup JDK из меню намерений

Меню намерений IntelliJ

  • нажмите на Configure

Диалог выбора Project SDK

  • В моем случае путь JDK был неверным ( /opt/jdk1.7.0_51вместо него был указан /opt/jdk1.7.0_65)

Сломанный диалог настройки SDK

  • Нажмите ...и перейдите к правильному пути JDK

Исправлен диалог настройки SDK

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

Меню файла IntelliJ

И все должно вернуться к жизни :)

Нет красных ключевых слов

Йосеф Харуш
источник
как сделать в Mac
nil96
32

IntelliJ иногда путается после импорта проектов maven и последующего изменения poms извне или создания источников за пределами IntelliJ.

Возможно, вы захотите попробовать реимпорт maven-> force из intellij в корне проекта.

Корген
источник
2
как ни странно, это фактически вызвало у меня "красное состояние предупреждения", которое впоследствии очистилось от недействительных кешей.
barclay
4
где "maven -> force reimport"? Где фактическая настройка / опция для этого?
Stealth Rabbi
@StealthRabbi Щелкните правой кнопкой мыши в любом месте структуры проекта, затем Maven> Reimport ...
Родриго Мартинс де Оливейра,
Или вы также можете использовать Ctrl + Shift + A, ввести «Reimport» и выбрать: «Reimport» или «Reimport All Maven Projects» (если есть сомнения, повторно импортировать все).
Родриго Мартинс де Оливейра
7

Моя проблема решена изменением jdk на значение по умолчанию , например. Open Jdk был установлен, но не знаю, почему intellij установил конфигурацию на java-8-openjdk-amd64 . Это была проблема. Я перешел на default-java и больше никаких красных ошибок.

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

mnhmilu
источник
7

В моем случае зависимости геттера и сеттера передавались через плагин lombok (использование java с Spring). И в новой установке intellij idea я не устанавливал плагин lombok. Установка плагина lombok исправила это для меня.

Парантап Шарма
источник
Это то, что вызывало у меня проблему. Геттеры и сеттеры, созданные с помощью аннотации, не были поняты IntelliJ. Спасибо за исправление!
rabowlen
5

У меня была такая же проблема после изменения JDK с 1.6 на 1.7 в моем pom.xml и установки Maven 3 path + JDK project settings на 1.7.

Для меня это было => Файл -> Недействительные кеши и перезапуск

PS: проблема возникла снова, поэтому я просто повторно импортировал весь проект после удаления папки .idea, и теперь он работает нормально, как обычно :)

0x126
источник
1
Я перебирал все низко висящие плоды, пытаясь снова заставить подсветку работать, и с вашим комментарием я понял, что, возможно, OSX взорвала мой 1.6 JDK в обновлении ... это так. И он переместил Java из / System / Library в / Library. Спасибо за публикацию.
rwheadon
Кажется, после обновления до 1.7 и идеи обновления они устранили проблему. больше не повторялось.
0x126
4

Убедитесь, что у вас есть правильный параметр JVM SDK в свойствах IntelliJ. Если invalidate-cache-and-restart недостаточно, убедитесь, что вы используете правильный JVM SDK, например Java 1.7.

Посмотрите: Настройки -> Настройки IDE -> Scala -> JVM SDK

Или щелкните правой кнопкой мыши свой проект -> Открыть настройки модуля -> Настройки проекта -> Проект -> Project 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, и это решает проблему.

pastafarian
источник
Я переключился на, Maven 2а затем вернулся к Maven 3. Эти шаги, по-видимому, решили проблему для меня.
Chaklader Asfak Arefe
2

Еще одна работа! Одно из решений, предлагавших щелкнуть Alt Enter, не имело для меня Setup JDK, но Add ... to classpathработало.

NSonmez
источник
1

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

В моем случае проблема была с maven home directoryи user settings fileв настройках Intellij в Maven. Я установил Maven не в каталог по умолчанию, и я также изменил расположениеsettings.xml файла. Это также следует изменить в настройках IntelliJ.

Надеюсь, это тоже поможет.

Elio
источник
0

Я пытался воспользоваться всеми приведенными выше советами, но, к сожалению, мне никто не помог. Итак, наконец, я решил удалить свое рабочее пространство intelij и создать новое - это помогло :) Но раньше я также занимался очисткой кеша, повторным импортом проектов maven, очисткой проектов и их перестройкой.

Марцин Эрбель
источник
0

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

Я исправил это, выполнив следующие инструкции: Настройка глобальных, проектных и модульных SDK

vphilipov
источник
0

Проблема заключалась в том, что файл, который я пытался импортировать, был настолько большим, что IntelliJ не запускал на нем никаких CodeInsights.

Установка для idea.max.intellisense.filesizeпараметра более высокого значения в соответствии с инструкциями к этому ответу решила мою проблему.

ecnepsnai
источник
0

У меня была та же проблема, что я использовал JDK 1.9 с IntelliJ 14, я решил переустановить Java с последней версией JDK 1.8 (1.8.0_161 в этом случае)

Я также удалил версию 1.9 из

HKEY_CURRENT_USER \ Software \ JavaSoft \ JRE \ Security Baseline

Сэм
источник
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. Итак, я просмотрел дерево Java и попробовал это, и оно приняло это:

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

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

Блэр Хоутон
источник
0

Попробуйте удалить .IntelliJIdea15 (зависит от версии) из C: \ Users \ Username

Когда вы запустите IntelliJ, он снова создаст папку.

Sudeep
источник
0

Еще одно решение на IntelliJ Ultimate 2018.2

  • Наведите курсор на импорт, отмеченный красным
  • Выберите стрелку раскрывающегося списка во всплывающем окне, которое появляется слева (ниже)
  • Выберите «Добавить библиотеку ... в путь к классам».

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

Сурен Конатала
источник
0

Решено просто "Обновить все проекты Gradle"

AlexPes
источник
0

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

SovietFrontier
источник
0

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

До этого я пробовал перезапустить IDE, пробовал "Недействительность кешей и перезапуск", пробовал проект Rebuild, ничего не помогло.

Sajjon
источник
0

Я сталкиваюсь с той же проблемой при обновлении версии Intellij. Для меня это было решено с использованием старого maven, чем тот, который был в комплекте с новым Intellij.

Вишал Т
источник
0

Я потратил большую часть дня, пытаясь найти здесь все решения, но ничего не помогло. Единственное, что у меня сработало, - это полностью удалить IntelliJ и установить его снова. Однако для меня, когда я удалил IntelliJ из папки приложения, проблема вернулась, как только я переустановил его. В конце концов мне пришлось использовать App Cleaner, чтобы полностью удалить IntelliJ и все файлы конфигурации и настроек. После того, как я сделал это, а затем переустановил IntelliJ, проблема наконец исчезла. См. Как удалить IntelliJ на Mac

Росс Миллс
источник
0

Для версии 2020.1.4 Ultimate мне пришлось сделать следующее

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

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

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

user1599755
источник
0

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

Катя Савина
источник