Подтвердить что ты не робот

Intellij Не удается разрешить символ при импорте

Эта проблема периодически возникает для разных библиотек и разных проектов. При попытке импортировать библиотеку пакет будет распознан, но имя класса не может быть разрешено.

Если в инструкции import я right-click -> Goto -> the package declaration, я вижу все декомпилированные классы, отображаемые в боковой панели - включая те, которые мне нужны - Если я попытаюсь автоматически заполнить инструкцию import, я заметил, что класс, в котором я нуждаюсь, не отображается в раскрывающемся списке.

Я уже пытался сделать недействительными кеши, не работает. Я не могу найти никаких конфликтов классов - в моем пути к классам нет другого файла jar с тем же именем пакета. Я могу импортировать этот класс в другие проекты.

Пожалуйста, просмотрите снимки экрана:

enter image description here

enter image description here

У кого есть ключ?

4b9b3361

Ответ 1

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

Файл → Недействительный кеш/перезагрузка

Ответ 2

Это может быть несколько причин. В моем случае это была неправильная проблема с исходным корнем. Недействительные кеши не работали вместе с другими решениями.

Проверьте исходные корни модуля.

  • Структура проекта (Ctrl + Alt + Shift + S).

  • Модули

  • Выберите свой проблемный модуль.

  • Вкладка "Изменить" в верхней части окна "Источники".

  • Удалите ненужные корни источника. Сохраните его и добавьте корни src и test в этот корень.

Ответ 3

Проверьте зависимости вашего модуля.

  • Структура проекта (Ctrl + Alt + Shift + S).
  • Модули
  • Выберите свой проблемный модуль.
  • Изменить вкладку в верхней части окна "Зависимости".
  • Проверьте, какая библиотека нужна (возможно, вам нужно добавить указанную библиотеку в библиотеках вкладок), или модуль указан здесь, и он имеет право scope ('complile' в основном).

Ответ 4

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

Ответ 5

IntelliJ имеет проблемы в разрешении зависимостей. Попробуйте следующее:

  1. Щелкните правой кнопкой мыши pom.xml → Maven → Reimport
  2. .Снова щелкните правой кнопкой мыши на pom.xml → Maven → Создать исходные коды и обновить папки

Ответ 6

File → Invalidate Caches/Restart или перестройка проекта не работали со мной.

Для моего проекта Gradle работал "Обновить все проекты Gradle" на вкладке "Gradle" в верхнем правом углу IntelliJ v2017, используя желтую отмеченную кнопку, показанную ниже:

enter image description here

Ответ 7

Я нашел следующий ответ @jossef-harush и @matt-leidholm полезный из другой ссылки

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

IntelliJ intentions menu

  • нажмите Configure

Project SDK selection dialog

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

Broken Configure SDK dialog

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

Fixed Configure SDK dialog

  • освободить кеш

IntelliJ File menu

Ответ 8

File → Invalidate Caches/Restart А также Создай свой проект

Ответ 9

Щелкните правой кнопкой мыши по файлу pom.xml, перейдите в Maven, щелкните Reimport. У меня была похожая проблема, и это сработало для меня.

Ответ 10

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

Ответ 11

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

Ниже приведен шаг, как я получил эту глупую проблему.

  • Создайте пустой проект и создайте новый каталог src/main/java.
  • Создайте исходный пакет net.gongmingqm10.sketch.
  • Используйте gradle wrapper, gradle idea для создания материала gradle для проекта.
  • Добавьте некоторые зависимости в файл build.gradle и gradle build, reimport проект.
  • Создайте User.java и School.java в существующем пакете net.gongmingqm10.sketch
  • Я получил ошибку, пока я пытаюсь использовать Import School в User.java.
  • Intellij продолжает жаловаться, не может разрешить импорт символа.

Решение:

Сначала создайте проект и пометьте основной /java как исходный корень. Создать новый каталог с тем же именем net.gongmingqm10.sketch. Переместите все файлы из старых проблемных пакетов в новый пакет.

Корневая причина:

Дерево каталогов исходного кода

Как вы можете видеть из дерева. Я получил каталог с именем net.gongmingqm10.sketch. Но нам действительно нужен каталог с тремя уровнями: net- > gongmingqm10- > sketch

Но прежде чем завершить проект в Intellij, я создаю новый каталог с именем net.gongmingqm19.sketch, который даст мне реальный каталог с именем net.gongmingqm10.sketch.

Когда мы пытаемся импортировать его. Очевидно, как можно импортировать файл под вэлементным каталогом с именем a.b.c.

Ответ 12

@Антон Дозорцев Меня смутило подобное поведение; Я закончил переустановку IDE кучей раз, только пропустив проблему после удаления приложения IDEA, всех кешей, настроек и т.д.

Я пробовал всевозможные шаги в промежуточный период (например, перезапуска, недействительности, удаления файлов .idea и *.iml и т.д.)

Оказывается, проблема связана с установкой IntelliJ idea.max.intellisense.filesize. Я установил его на 100 КБ, что было меньше размера моей зависимости, что привело к тому, что IntelliJ показала его как неизвестную, как на скриншоте.

Fix:

  • Нажмите "Справка" → "Редактировать пользовательские свойства"

  • Установите свойство в большее значение; по умолчанию - 2500 КБ idea.max.intellisense.filesize=2500

Ответ 13

У меня была такая же проблема, пока я не заметил, что папка src была помечена как корневой источник вместо java! Переход на java (src/main/java) в качестве исходного корня решил мою проблему enter image description here

Ответ 14

Запустите эту команду в консоли проекта:

mvn idea:idea

Готово. Был этот вопрос много раз. Попробовал 'Invalidate Cache & Перезапустите и все другие решения. Выполнение этой команды прекрасно работает для меня. В настоящее время я использую IntelliJ 2019.2, но это также происходило в предыдущих версиях, и решение работало также.

Ответ 15

Простой перезапуск работал у меня.

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

PS: Очистка системных кэшей приведет к очистке локальной истории.

Ответ 16

У меня была аналогичная проблема с моим импортированным проектом Maven. В одном модуле он не может разрешить импорт символа для части другого модуля (да, часть этого модуля может быть разрешена).

Я изменил "домашний каталог Maven" на более новую версию, решив мою проблему.

Обновление: хорошо в течение 1 часа, вернуться к нарушенному статусу...

Ответ 17

Я нашел причину источника!

В моем случае я добавляю файл jar, включающий в себя некоторый исходный файл java, но я думаю, что источник java плохой, в библиотеке зависимостей Intellij Idea он добавляет источник автоматически, поэтому в редакторе импортируется BAD, просто удалите источник код в "Структура проекта" → "Библиотека", он работает для меня.

Ответ 18

Что мне нужно - отредактировать файл пакета в папке .idea, поскольку я случайно добавил источники в эту библиотеку jar, и андроид не смог его устранить, удалив строку источников, помеченную в изображении b/m ошибка библиотеки.

Затем перестройте проблему gradle и bam.

Ответ 19

У меня была такая же проблема, и причина этого была неправильной маркировкой источников проекта.

Я вручную создал корневой контент и не заметил, что папка src/main/test была помечена как Sources вместо Tests. Поэтому мы предположили, что у моих тестовых классов есть все свои тестовые библиотеки (JUnit, Mockito и т.д.) С объемом компиляции, а не с тестом.

Как только я обозначил src/main/test как "Тесты" и перестроил модуль, все ошибки исчезли.

Ответ 20

У меня было это недавно, когда я пытался использовать Intellij для работы над NiFi, оказалось, что проблема в том, что NiFi требует Maven> = 3.1.0, а версия, с которой я проверил (думаю, по умолчанию), была 3.0.5. Обновление версии Maven для проекта исправило это, поэтому в некоторых случаях может показаться неправильное выравнивание версии Maven... Я думаю, это довольно необычно, но если вы зайдете так далеко в потоке, вы, вероятно, получите необычная проблема :)

Ответ 21

Та же проблема. Если эти методы не работают. Вы можете попытаться удалить библиотеку из локального репозитория maven и снова импортировать ее в pom.

mvn repository

Наконец, это хорошо для меня.

project

Ответ 22

fileProject StructureModules, найдите модуль с проблемами, щелкните его и выберите вкладку Dependencies с правой стороны. Нажмите на зеленый знак плюс, попробуйте добавить банку или библиотеки, которые вызывают проблему. Это подходит для меня.

Ответ 23

После долгих поисков я обнаружил, что зависимость была как-то повреждена на моей машине в проекте maven. Странно было то, что в скомпилированном Java-коде зависимость все еще работала правильно. Однако когда я очистил и перестроил кэш зависимостей maven, проблема исчезла, и IntelliJ узнал пакет. Вы можете сделать это, запустив:

mvn dependency:purge-local-repository

Интересно, что источником моей проблемы, следовательно, был не IntelliJ, а сам Maven.

Ответ 24

Пожалуйста, попробуйте File-> Синхронизировать. Затем закройте и снова откройте IntelliJ, прежде чем лишить законной силы.

Однажды я перезапустил. Я бы сделал недействительным, но синхронизация очистил все после перезапуска.

Ответ 25

Отсутствует io? Попробуйте import org.openide.util.io.ImageUtilities.