Что в Eclipse может вызвать значок ошибки «красный-x» в Package Explorer, когда все исходные коды Java компилируются без ошибок?

98

Я использую Eclipse для разработки на Java. Все мои исходники компилируются нормально, и полученное приложение компилируется нормально. Однако я продолжаю получать уведомление об ошибке «red-x» в проводнике пакетов.

Все мои источники в этом исходном каталоге (слишком длинном для снимка) компилируются нормально, ни один из них не показывает значок ошибки «красный-x».

Мы будем очень признательны за любые предложения о том, как решить эту проблему.

Альфред Б. Тордарсон
источник

Ответы:

168

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

Ян Грессманн
источник
6
Я специально получаю это, когда другой компонент, не относящийся к Java, не проходит проверку (хорошим примером может быть файл XML, такой как spring или maven).
Спенсер Кормос,
2
Если вы видите какую-либо проблему в представлении проблемы, это очевидная причина. Я еще не видел ни одной ошибки без видимой причины :)
нанда
Добавление к ответу jan-gressman. Иногда, когда вы заглядываете на вкладку «Проблемы», вы обнаруживаете, что проблема в дополнительных файлах с подчеркиванием в некоторых папках, например __duplicatefile.java. Чтобы исправить это, щелкните проект правой кнопкой мыши и выберите: Показать в> Навигатор. Затем удалите повторяющиеся файлы с подчеркиванием и создайте свой проект.
GraSim
3
Я тоже с этим сталкиваюсь - часто. Для меня это сводится к ручному изменению моего файла POM при взаимозаменяемом использовании Eclipse и Maven и командной строки (mvn). Чтобы исправить: используйте вкладку «Проблемы» для диагностики, как указано выше, и если это POM, который не синхронизирован, вы можете «Обновить проект» с помощью Maven в Eclipse: «Щелкните правой кнопкой мыши» по проекту в проводнике пакетов, выберите «Maven». ", Выберите" Обновить проект ". Убедитесь, что выбраны «Обновить конфигурацию проекта из pom.xml», «Обновить рабочую область ...» и «Очистить проекты».
Zack Jannsen
Хороший совет посмотреть на Проблемы. Мой проект нуждался в обновлении.
Даунейт
17

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

В контекстном меню проекта: Maven -> Обновить проект и выберите доступные базы кода maven.

В качестве альтернативы вы можете использовать (Alt + F5), чтобы открыть то же окно

Патрик Шефер
источник
1
Даже когда я попадаю в проект обновления, это не решает проблему для меня. На вкладке проблем я получаю 100 ошибок, показывающих undefined / неинициализированный / не может быть разрешен для типа ... Любые мысли, как избавиться от этого очень быстро
Эсвар
11

Попробуйте очистить проект и пересобрать.

вспышка
источник
7

После сборки. Обновите проект и, если он все еще сохраняется, просто щелкните правой кнопкой мыши вкладку «Проблемы» в eclipse и выберите «Удалить все».

Это часто случается, если вы выполняете установку maven и файлы свойств eclipse не обновляются должным образом. Даже если в вашем проекте нет ошибок. С надеждой!

AaMng
источник
Щелкните правой кнопкой мыши в области вкладки "Проблемы" и выберите "Удалить" - вот что мне нужно было услышать!
Габриэль Стейплс
5

Я хочу начать с благодарности всем, кто ответил. Но в моем случае очистки и восстановления было недостаточно, потому что проблема все еще существовала и требовала исправления.

Оказалось, что один из моих каталогов пакетов был случайно скопирован, поэтому теперь существует дополнительный каталог под названием «Копия dagskra», содержащий файлы Java с неправильными объявлениями пакетов. Кроме того, ошибки в этом "новом" каталоге не отображаются с "красным-x" в пакете, в котором он существует:

Снимок из проводника пакетов, показывающий ошибочную копию каталога dagskra http://www.freeimagehosting.net/uploads/a824304b18.png

Намек на прочтение вкладки «Проблемы» :-) направил меня в правильном направлении, поэтому я выбрал этот ответ как принятый, потому что это то, что мне нужно:

Снимок с вкладки "Проблемы" http://www.freeimagehosting.net/uploads/dea26d5dd0.png

Надеясь, что это поможет другим ...

Альфред Б. Тордарсон
источник
2

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

1) перейдите в «Настроить путь сборки» проекта 2) Путь сборки Java -> вкладка «Источник» - вы должны увидеть красный крестик напротив отсутствующего пакета / файла. если его больше нет, просто «удалите» его.

красный X прочь! :)


источник
1

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

JeeBee
источник
1

Как уже говорили другие, плохие ссылки на файлы в пути сборки часто являются виновником.

Обычно это файл .jar, который был перемещен / удален. Eclipse ожидает найти все, что упоминается в пути сборки в указанном месте, и будет жаловаться, если нет.

Madlep
источник
1

У меня была такая же проблема, и следующие шаги разрешили проблему:

  1. Удалите JRE из ПРОЕКТА> свойства> путь сборки java> библиотеки.

  2. Перезапустить затмение

  3. Снова добавьте JRE

  4. Перестройте проект с помощью «Проект»> «Очистить» и выберите вариант для автоматической сборки.

Пожалуйста попробуйте.

солнце2
источник
Этому вопросу почти четыре года, на него уже дан ответ, и это дубликат ответа. Пожалуйста, публикуйте новую информацию только в том случае, если она может помочь автору вопроса.
Сэм
Извините за путаницу, однако, как я это вижу, я пытался опубликовать новый ответ, а не дублировать.
вс2,
Я здесь с той же проблемой 28.01.18. все равно хорошо давать ответы независимо от того, сколько лет заданному вопросу.
Tadele Ayelegn
1

Иногда причиной этого также является Subversion. Это может не иметь ничего общего с вашей средой. Но может быть несоответствие между текущим и местным состоянием проекта. В моем случае выполнение обновления, а затем фиксация на сервере Subversion предоставили мне ожидаемый чистый результат без каких-либо флагов в проекте, таких как X.

Джей Снайдер
источник
Я вижу, что плагины SVN для eclipse не очень стабильны. У меня все еще проблемы с ними. Я виню их (не имея ни малейшего понятия, просто догадываюсь). То, что вы предложили, сработало для меня +1.
Пантелис Нациавас
0

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

mdec
источник
0

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

Иногда выполнение 'rebuild' или 'clean-build' не работает, файлы на самом деле не собираются (можно предположить, что eclipse считает, что файлы, которые у него есть, обновлены), и когда это происходит, я обычно открываю путь сборки java и просто переместите одну из моих зависимостей вниз / вверх по иерархии. Это заставляет eclipse делать все заново, и это всегда работает.

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

Генри Б.
источник
0

Чтобы добавить к предыдущему ответу, крайний способ «очистки» вашего проекта - это удалить его (то есть удалить его ссылку из рабочей области, а не удалять фактические файлы), а затем повторно импортировать его.
Иногда это помогает ...

VonC
источник
0

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

Рахул
источник
0

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

Я сделал пару вещей. 1. Один класс имеет много импортов, которые сбивают с толку затмение. Их очистка устранила часть проблемы 2. Один случай касался Сеттера, при нажатии F3 для перехода к этому Сеттеру, хотя eclipse жаловался, что его там нет. Поэтому я просто перепечатал его, и он работал нормально (даже для всех других сеттеров)

Я все еще борюсь с неявным суперконструктором Item () не определен для конструктора по умолчанию. Необходимо определить явный конструктор "


источник
0

Я также время от времени сталкиваюсь с таинственными символами ошибок на упаковках. Один из подходящих мне способов избавиться от них - это эффективно удалить системную библиотеку JRE из пути сборки Java и снова добавить ее.

Greiball
источник
спрашивающий спросил причину, вы предоставили обходной путь
Йоханнес
0

Мое решение, которое, наконец, сработало, заключалось в том, чтобы очистить все проекты, закрыть eclipse, очистить все проекты, закрыть eclipse и так далее как минимум 5-6 раз. В конце концов все улеглось, и все было так, как ожидалось. Самая странная вещь !!

И никаких ошибок в представлении проблемы или консоли не было.

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

По какой-то причине компьютерные сбои действительно плохо обрабатываются eclipse.

Стефан Гренье
источник
0

Также вы можете обновить проект, нажав,

Щелкните правой кнопкой мыши имя проекта -> Выберите Maven -> Щелкните правой кнопкой мыши -> Обновить проект.

Это помогло мне.

Спасибо.

abhijitcaps
источник
0

Это может произойти по ряду причин. Если вы изменили jdk, рядом с фасетом «Проект» будет красный крестик, в то время как никакие другие папки не покажут ошибку. В этом случае измените показанный jdk. Иногда это случается в нашем классе JAX-WS ( HSG

Андреас
источник
0

Я решил свою

  • Закройте все другие проекты (т.е. вариант несвязанного проекта)

  • Очистить и построить

Моим проектом был android, и это помогло.

Катедраль Пиллон
источник
0

Это произошло, когда я загрузил fabric.io на Eclipse Mars, но перезапуск компьютера решил эту проблему для меня.

Шераз Ахмад Хилджи
источник
0

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

Темный
источник
0

у меня была такая же проблема. Я проверил вкладку «Проблемы» и не нашел сервера для проекта. Я определил сервер. красный-x исчез

Хао
источник
0

Вы можете перейти в проект-> Путь к сборке-> Библиотека

Если есть какая-либо библиотека, помеченная X, то есть [отмечена крестиком], удалила ее и снова попыталась построить. Это сработало и для меня /

Анджали
источник
0

Я столкнулся с этой проблемой сегодня и нашел эту ссылку. Я последовал примеру Патрика Шефера, упомянутого выше, и открыл диалог обновления проекта Maven. Щелкните мой рабочий проект и установите флажок «Принудительное обновление снимков / выпусков» и «ОК». Весь красный крест исчез. Надеюсь, это поможет кому-нибудь в подобной ситуации.

Эшу
источник
-2

Щелкните правой кнопкой мыши проект с ошибками, затем в подменю выберите: Maven > UpdateProject >

а потом:

  • Установите флажок для всех зависимых проектов
  • выберите принудительное обновление снимков
  • нажмите ОК.

Это сработало для меня ..

ледянойМетеор
источник