Что означает красный значок с восклицательным знаком в Eclipse?

157

Что означает красный значок с восклицательным знаком в Eclipse? В Интернете есть много разных результатов поиска о «красных значках восклицательных знаков» и «оформителях красных восклицательных знаков» и «значках красного взрыва», без сомнения, потому что многие плагины и инструменты, связанные с программированием, используют красные значки восклицательных знаков. Итак, чтобы быть ясным, это то, что я имею в виду:

снимок экрана с красным восклицательным знаком

Он отображается в качестве декоратора для проектов в представлении Package Explorer.

В моем случае значок исчез, когда была заполнена отсутствующая переменная пути сборки. Я использую MyEclipse 9.0, но я не думаю, что это зависит от MyEclipse. Другие люди в Интернете сообщили, что это связано с другими проблемами, включая Subclipse, .svnпапку и перемещение файлов между рабочими копиями.

попса
источник
1
Так как это оказался стандартный значок Eclipse: см. Также stackoverflow.com/questions/1561336/…
всплывает

Ответы:

182

Согласно документации :

Декорирует проекты Java и рабочие наборы, которые содержат ошибки пути сборки

На практике я обнаружил, что «ошибка пути сборки» может быть вызвана любым количеством причин, в зависимости от того, какие плагины активны. Проверьте представление «Проблемы» для получения дополнительной информации.

ZoogieZork
источник
1
У меня было объявление об ошибке, но я все еще вижу красный значок. Вид сбивает с толку
всингх
1
Это было потому, что путь сборки загрузчиков для внешнего Jar отличался от того, где находился мой. +1 за информацию.
Doomsknight
1
Представление «Проблемы» ничего не показывает в случае ошибки SVN. Попробуйте удалить папку .svn из папки-нарушителя и обновить ее, если это произойдет.
Ионо
16
+1 для «Проверить вид проблем » . В моем случае в проверенном проекте не было ничего плохого, скорее в проекте «отсутствовала необходимая исходная папка: 'target / generate / src / main / java' ". Вот что происходит, когда вы используете Maven, и вы еще не создали проект в первый раз после оформления заказа.
Удержано
Кроме того - иногда он все еще заявляет, что JAR связан с путем сборки, когда вы пытаетесь добавить JAR обратно. Подождите несколько минут, это должно исправить.
Риши
17

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

  1. Щелкните правой кнопкой мыши на «Название проекта»
  2. Выберите «Путь сборки»
  3. Затем выберите «Настроить путь сборки»
  4. Нажмите на "Библиотеки"
  5. Удалите все библиотеки, которые ссылались на старый путь

Затем восклицательный знак на «Название проекта» был удален.

yogishaj
источник
Спасибо за Ваш ответ. Я ценю вашу готовность помочь, но технически это не отвечает на мой вопрос. Мне было интересно, что означал значок, но это просто объясняет, как от него избавиться.
Pops
16

Это означает, что есть проблема с путем сборки в вашем проекте. Если это проект Android, то это в основном означает, что целевое значение, указанное в файле project.properties, не может быть найдено. Это также может быть вызвано другими типами проблем. Но это показано в основном только для встроенных задач. Смотрите здесь для более подробной информации. Речь идет о встроенной ошибке декоратора, замеченной в затмении.

Выдержка из этой страницы:

Проблемы пути сборки иногда легко пропустить среди других проблем в проекте. Представления Package Explorer и Project Explorer теперь показывают новый декоратор для проектов Java и рабочих наборов, которые содержат ошибки пути сборки:

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

Конкретные ошибки можно увидеть в представлении «Проблемы», и если вы откроете меню представления и выберете «Группировать по»> «Тип проблемы Java», все они отобразятся в категории «Путь сборки»:

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

Винсент Веттукал
источник
7

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

  1. Вы удалили некоторые файлы .jar из папки / lib
  2. Вы добавили новые файлы .jar
  3. Вы добавили новые файлы .jar, которые могут конфликтовать с другими

Итак, что мы должны сделать, это разрешить эти отсутствующие / update / new_added jar-файлы.

  1. щелкните правой кнопкой мыши на проекте и go to properties
  2. Выбрать Java Build Path
  3. перейти на Librariesвкладку
  4. Удалите ссылки на файлы JAR, которые вы уже удалили. Рядом с ними будет красная отметка, чтобы вы могли легко их идентифицировать.
  5. Добавьте ссылки на недавно добавленные файлы .jar, используя Add JARs
  6. Обновить проект

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

простое число
источник
6

Я нашел другой сценарий, в котором может появиться красный восклицательный знак. Я скопировал каталог из одного проекта в другой. Этот каталог включал скрытый каталог .svn (исходный проект был передан для контроля версий). Когда я зарегистрировал свой новый проект в SVN, скопированный каталог все еще содержал старую информацию SVN, неправильно идентифицируя себя как элемент в своем первоначальном проекте.

Я обнаружил проблему, посмотрев в Свойства для каталога, выбрав SVN Info и просмотрев URL ресурса. Я исправил проблему, удалив скрытый каталог .svn для моего скопированного каталога и обновив мой проект. Красный восклицательный знак исчез, и я смог правильно проверить каталог и его содержимое.

Стив Хансен Смит
источник
4

То, что я сделал, было странным, но каким-то образом это решило проблему. Выберите любой проект и выполните ложное редактирование файла build.properties (например, добавьте и удалите пробел, а затем сохраните файл). Очистите и восстановите проекты в своем рабочем пространстве.

Надеюсь, что это решит некоторые из ваших проблем.

TennFest
источник
2

Убедитесь, что у вас нет неопределенных переменных classpath (например, M2_REPO).

Андрей
источник
2

У меня была такая же проблема, и Андрей прав. Проверьте вашу переменную classpath "M2_REPO". Вероятно, это указывает на неверное местоположение вашего локального репозитория Maven.

В моем случае я использовал mvn eclipse:eclipseв командной строке, и этот плагин устанавливал переменную classpath M2_REPO. Eclipse не смог найти мой maven settings.xml в моем домашнем каталоге, и в результате это была неверная переменная classpath M2_REPO. Моим решением было перезапустить Eclipse, и он взял мой файл settings.xml и удалил красный восклицательный знак в моих проектах.

Я получил больше информации от этого парня: http://www.mkyong.com/maven/how-to-configure-m2_repo-variable-in-eclipse-ide/

Terence
источник
2

Решение, которое сработало для меня, - это следующее решение, данное Стивом Хансеном Смитом. Я просто вставляю это здесь. Спасибо Стив.

«Я обнаружил другой сценарий, в котором может появиться красный восклицательный знак. Я скопировал каталог из одного проекта в другой. Этот каталог содержал скрытый каталог .svn (исходный проект был зафиксирован для контроля версий). Когда я проверял свой новый проект в SVN скопированный каталог все еще содержал старую информацию SVN, неправильно идентифицируя себя как элемент в своем первоначальном проекте.

Я обнаружил проблему, посмотрев в Свойства для каталога, выбрав SVN Info и просмотрев URL ресурса. Я исправил проблему, удалив скрытый каталог .svn для моего скопированного каталога и обновив мой проект. Красный восклицательный знак исчез, и я смог правильно проверить каталог и его содержимое ».

user1163441
источник
0

Решение, которое сработало для меня, следующее:

Я выбрал конкретный проект> щелкните правой кнопкой мыши> Путь сборки> настроить путь сборки> Библиотеки> Я заметил, что системная библиотека JRE показала (Unbound) отсюда ..

выбрал эту библиотеку> нажмите «Удалить»> нажмите «Применить»> нажмите «Добавить библиотеку»> «Системная библиотека JRE»> далее> JRE по умолчанию для рабочей области> нажмите «Готово»> «Применить»> «ОК».

Теперь вы не увидите этих восклицательных значков в вашем проекте.

Нареш Кумар
источник