IntelliJ не распознает определенные пакеты Spring - PullRequest
1 голос
/ 01 августа 2020

В моих остальных проектах API IntelliJ внезапно перестал распознавать импорт из пакетов org.springframework.http и org.springframework.web. Например, у меня появляются красные волнистые линии, когда я пытаюсь создать экземпляр ResponseEntity или использовать аннотацию @RestController. Я также получаю красные волнистые линии под соответствующими операторами импорта с сообщением «Невозможно разрешить символ», когда я наводю на них курсор.

Я щелкаю лампочку и выбираю «добавить зависимость Maven», но IntelliJ не может найти ничего для добавления. Даже если бы это было возможно, соответствующие зависимости Maven уже присутствуют в pom. xml, но они неактивны, как будто на них нигде нет ссылок. Указание разных версий зависимостей вручную ничего не дает. Повторный импорт проекта ничего не делает. Повторное клонирование репо и запуск нового проекта не помогли. Также не было аннулирования кешей, удаления всего каталога .m2, обновления IntelliJ, перезапуска моей машины или возни с интерпретатором.

Код строится и работает, как ожидалось, без каких-либо проблем как в терминале, так и в IDE. Понятия не имею, почему IntelliJ кажется таким запутанным. Это происходит только на моей машине, и я не могу придумать, что я мог сделать, чтобы это вызвать. Никто в команде не видел этой проблемы. Он не изолирован от какого-либо конкретного репо. Это происходит каждый раз, когда я пытаюсь импортировать из этих пакетов c. Меня это беспокоит всю неделю, и мои товарищи по команде в таком же недоумении, как и я. Есть предложения?

Дополнительная информация:
  • Java 11.0.6
  • Последние версии Maven и IntelliJ
  • macOS Mojave

Обновление

Я решил еще раз удалить весь каталог .m2 и каталог .idea для моего проекта. Я делал это несколько раз за последнюю неделю, но безрезультатно. На этот раз, когда я повторно импортировал проект, я обнаружил, что вышеупомянутый импорт org.springframework.web и org.springframework.http теперь распознается правильно. Однако IntelliJ теперь не распознает некоторые другие импортированные файлы, такие как lombok.

На прошлой неделе у меня действительно была эта конкретная версия проблемы в течение нескольких часов. Затем я сделал небольшой перерыв и открыл свой ноутбук, чтобы обнаружить, что все волшебным образом вернулось в норму. Через несколько дней у меня появилась ошибка, описанная выше. Этот нераспознанный импорт, кажется, появляется и исчезает случайным образом, независимо от проекта, над которым я работаю, или каких-либо изменений в коде.

Позвольте мне повторить, что с кодом все в порядке. IntelliJ создает и запускает его безупречно, даже со всеми красными волнистыми линиями. Что-то не так с редактором. Ниже приведен скриншот текущего состояния.

IntelliJ говорит

Решено

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

Ответы [ 2 ]

0 голосов
/ 01 августа 2020

См. Ссылку на изображение здесь Исключить из импорта и завершения

В настройках Intellij Файл-> Настройки, go в Редактор -> Общие -> Автоимпорт -> Java раздел -> Исключить из импорта и завершения. Удалите те классы, которые вы случайно поместили туда. Это могло когда-либо случиться, потому что вы когда-либо нажимали не ту кнопку, когда есть автоматическое предложение от Intellij.

На самом деле, у меня такая же проблема несколько дней go. Так я и решил.

0 голосов
/ 01 августа 2020

Это может произойти по множеству причин:

Попробуйте следующее:

(Mac users) Right click on the project -> Maven -> reimport

Если это не сработает:

Delete `.idea` folder and re import the project.
Its located in the root of the project. like this one

za$ ls .idea/
.name          compiler.xml   encodings.xml  httpRequests/  misc.xml       vcs.xml        workspace.xml  

Если это не так ' t работает, убедитесь, что jar загружен и вы видите его в списке как зависимость, или импортируйте его вручную. см. следующие вопросы:

Если это не сработает:

Удалите все версии jar (в которых есть проблема) из папки ./m2. Или не забудьте указать конкретную версию c в pom.xml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...