it-swarm.com.ru

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

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

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

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

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

enter image description here

enter image description here

У кого-нибудь есть подсказка?

77
Asaf Ebgi

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

File -> Invalidate Caches/Restart

149
sahitya

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

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

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

  2. Модули

  3. Выберите ваш проблемный модуль.

  4. Изменить вкладку в верхней части окна «Источники».

  5. Удалите нежелательные исходные корни. Оставьте один и добавьте src и проверьте исходные корни в этом корне.

29
Vipin Thomas

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

10
minx

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

  1. Структура проекта (Ctrl+Alt+Shift+S).
  2. Модули
  3. Выберите ваш проблемный модуль.
  4. Изменить вкладку в верхней части окна "Зависимости".
  5. Проверьте, какая библиотека нужна (может быть, вам нужно добавить указанную библиотеку во вкладке "библиотеки") или модуль указан здесь, и он имеет правильную область действия (в основном "компиляция").
10
Artem Moiseyenko

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

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

File -> Invalidate Caches/Restart или перестройка проекта не сработала not.

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

 enter image description here

5
eaykin

File -> Invalidate Caches/Restart И Создайте свой проект

2
Harsh

Я нашел следующий ответ от @ 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

2
manntsheth

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

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

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

Решение:

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

Первопричина:

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

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

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

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

1
Ming Gong

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

1
rdutta

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

1
sheldonkreger

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

Я вручную создал Root Content и не заметил, что папка src/main/test была помечена как Sources вместо Tests. Вот почему предполагалось, что мои тестовые классы имеют все свои тестовые библиотеки (JUnit, Mockito и т.д.) С областью Compile, а не Test.

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

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

0
Isaac

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

 mvn repository

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

 project

0
Misire J

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

mvn dependency:purge-local-repository

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

0
JohannesB

file-> Project Structure -> Modules, найдите модуль с проблемами, щелкните по нему и выберите вкладку Dependencies с правой стороны. Нажмите на зеленый знак плюс, попробуйте добавить банку или библиотеки, которые вызывают проблему. Это подходит для меня.

0
SteveHu

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

0
Pipo

Простой рестарт работал на меня.

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

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

0
neoguy

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

В моем случае я добавляю jar-файл, включающий некоторый исходный файл Java, но я думаю, что исходный код Java плохой, в библиотеке зависимостей Intellij Idea он добавляет исходный код автоматически, поэтому в редакторе импорт выполняется BAD AD ПРОСТО удалите исходный код в " Структура проекта »->« Библиотека », у меня это работает.

0
crazycode

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

Затем перестройте решётку и решите проблему. 

0
mario

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

Я изменил «Maven home directory» на более новую версию, решил мою проблему.

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

0
Wenbin

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

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

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

Fix:

  1. Нажмите на Справка -> Изменить пользовательские свойства

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

0
Mihai Bojin