Що в Eclipse може викликати піктограму помилки "Red-x" Package Explorer, коли всі джерела Java збираються без помилок?


94

Я використовую Eclipse для розробки Java. Усі мої джерела складають штрафи, а отримана програма - добре. Однак я постійно отримую повідомлення про помилку "red-x" у Провіднику пакунків.

Усі мої джерела в цьому каталозі джерел (занадто довгі, щоб зробити знімок) складають чудово, жоден із них не показує значок «червоний x» помилки.

Будемо вдячні за будь-які пропозиції щодо усунення проблеми.

Відповіді:


167

так, це трапляється іноді без видимих ​​причин. Ви можете перейти до «Проблеми» -Tab (прямо поруч із консольним виходом) і побачити повідомлення про помилку, тож, можливо, ви можете її звузити таким чином.


6
Я спеціально отримую це, коли інший компонент, який не є Java, не дає перевірки (хорошим прикладом може бути XML-файл, наприклад, Spring або Maven's).
Спенсер Кормос

2
якщо ви бачите будь-яку проблему в поданні проблеми, це очевидна причина. Я ще не бачив жодної помилки без видимої причини :)
нанда,

Додавання до відповіді Яна-Грессмена. Іноді, заглянувши на вкладку "Проблеми", ви побачите, що проблема - це додаткові файли з підкресленням у деяких папках, наприклад, __duplicatefile.java. Щоб виправити це, клацніть правою кнопкою миші проект і виберіть: Показати в> Навігатор. Потім видаліть повторювані файли з підкресленням і складіть свій проект.
GraSim

3
Я також впадаю в це - часто. Для мене це зводиться до ручних змін у моєму файлі POM при використанні Eclipse & Maven та командного рядка (mvn) взаємозамінно. Щоб виправити: використовуйте вкладку Проблеми для діагностики, як зазначено вище, і якщо це POM, яка не синхронізована, ви можете "Оновити проект" за допомогою Maven в Eclipse: "Клацніть правою кнопкою миші" на проекті в Провіднику пакетів, виберіть "Maven ", Виберіть" Оновити проект ". Переконайтеся, що вибрано "Оновити конфігурацію проекту. Від pom.xml", "Оновити робочу область ..." та "Очистити проекти".
Zack Jannsen

Хороша порада поглянути на Проблеми. Мій проект потребував оновлення.
downeyt

16

Це часто трапляється, коли я використовую Maven, і я завжди ігнорував це, поки не знайшов цього питання. У цьому випадку вам потрібно оновити проект (зрозумів це, заглянувши в область Проблеми)

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

Крім того, ви можете використовувати (Alt + F5), щоб відкрити те саме вікно


1
Навіть коли я потрапляю на проект оновлення, це не вирішує проблему для мене. На вкладці "Проблеми" я отримую 100 помилок, що показують невизначені / неініціалізовані / не можуть бути вирішені до типу ... Будь-які думки, як позбутися цього справжнього швидкого
Eswar


6

Після збірки. Оновіть проект, і якщо проблема все ще залишається, просто клацніть правою кнопкою миші вкладку Проблеми в eclipse і виберіть видалити все.

Часто це трапляється, якщо ви встановите Maven, а файли властивостей затемнення не оновлюються належним чином. Незважаючи на те, що ваш проект не має жодних помилок. Сподіваємось!


Клацніть правою кнопкою миші в області вкладки Проблеми та виберіть "Видалити" - ось що мені потрібно було почути!
Габріель

5

Хочу розпочати, дякуючи всім, хто відповів. Але прибирання та відновлення в моєму випадку було недостатньо, тому що проблема все ще існувала і потребувала виправлення.

Виявилося, що один із моїх каталогів пакетів був випадково скопійований, так що тепер існував додатковий каталог під назвою "Копія дагскри", що містить файли Java з неправильними деклараціями пакета. Крім того, помилки в цьому "новому" каталозі не відображаються з "червоним х" в пакеті, в якому він існує:

Знімок із програми Explorer Package показує помилковий каталог "Копія дагскри" http://www.freeimagehosting.net/uploads/a824304b18.png

Саме натяк на прочитання вкладки "Проблеми" :-) перевернув мене в правильному напрямку, тому я вибираю цю відповідь як прийняту відповідь, тому що це мені було потрібно:

Знімок із вкладки Проблеми http://www.freeimagehosting.net/uploads/dea26d5dd0.png

Сподіваючись, що це допоможе іншим ...


2

Отже, виявивши, що на збірній доріжці може бути відсутній пакет, таким чином, червоний x проти основного проекту, щоб видалити це:

1) перейдіть у "Налаштувати Buildpath" проекту 2) Java Build Path -> Tab Source - ви повинні побачити червоний x проти відсутнього пакета / файлу. якщо його більше не існує, просто "видаліть".

червоний X пішов! :)


1

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


1

У мене була та сама проблема, і нижче кроки вирішено проблему:

  1. Видаліть JRE з PROJECT> властивості> шлях збірки Java> бібліотеки.

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

  3. Додайте JRE ще раз

  4. Відновіть проект за допомогою Проекту> Очистити та вибраний варіант для автоматичного створення.

Будь ласка, спробуй.


На це питання майже чотири роки, вже відповіли, і це дублікат відповіді. Будь ласка, опублікуйте нову інформацію, лише якщо це, можливо, допоможе автору питання.
Сем

Вибачте за плутанину, проте, як я це бачу, я намагався розмістити нову відповідь, не дублюючу.
нд2

Я тут з такою ж проблемою 28.01.18. все ще добре давати відповіді незалежно від того, скільки років питанню.
Tadele Ayelegn

1

Випадки в цьому також є підрив. Це може не мати нічого спільного з вашим оточенням. Але, можливо, існує розбіжність між поточним та місцевим станом проекту. У моєму випадку оновлення, а потім фіксація на підривному сервері забезпечила мені очікуваний чистий результат без будь-яких прапорів у проекті, наприклад X.


Я бачу, що плагіни SVN для затемнення не дуже стабільні. Я постійно маю з ними проблеми. Я покладаю на них провину (не маючи жодної підказки, просто хизування). Те, що ви запропонували, працювало на мене +1.
Pantelis Natsiavas

0

Спробуйте виконати перебудову. Я виявив, що червоний x не завжди зникає, поки не буде виконано відновлення.


0

Я багато разів стикався з подібною проблемою, зазвичай для мене трапляється так, що файл Java скаже, що він не компілюється в текстовому редакторі, але в провіднику пакунків він скаже, що компілюється нормально.

Іноді виконання реконструкції чи очищення не працює, файли насправді не збираються (потрібно припустити, що eclipse вважає, що файли, які у нього є, оновлені), і коли це трапляється, я зазвичай відкриваю шлях побудови Java і просто перемістити одну з моїх залежностей вниз / вгору порядок клювання. Це змушує затемнення зробити відновлення всього, і це, здається, завжди працює.

Якщо у вас все ще виникають проблеми, спробуйте скопіювати проект і перевірити, чи отримаєте ви таку саму поведінку, і під час останньої спроби опублікувати помилку для затемнення, це може зайняти деякий час, щоб вони виправили, але принаймні ви знаєте, що вас почув.


0

Щоб додати до попередньої відповіді, крайнім способом "очищення" вашого проекту є його видалення (тобто видалення його посилання з робочої області, а не видалення власне файлів), а потім повторне імпортування.
Іноді це допомагає ...


0

Як уже говорили інші, винуватцем є погані посилання на файли на шляху збирання.

Зазвичай .jar файл, який переміщено / видалено. Eclipse очікує, що знайде все, на що посилається на шляху збирання, у вказаному місці, і скаржиться, якщо ні.


0

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


0

Я пережив це. Моя справа була більш причетною. Проект був упакований штрафом із командного рядка Maven.

Пару речей, які я зробив. 1. Один клас має багато імпорту, що плутає затемнення. Очищення їх усунуло частину проблеми 2. Один випадок стосувався сетера, натискання клавіші F3 для переходу до цього сеттера, хоча eclipse скаржився, що його там немає. Тому я просто повторно ввів його, і він працював чудово (навіть для всіх інших сеттерів)

Я все ще борюся з неявним суперконструктором Елемент () не визначений для конструктора за замовчуванням. Потрібно визначити явний конструктор "


0

Також я періодично відчуваю ці загадкові символи помилок на пакунках. Спосіб позбутися від них, який працює для мене, - це ефективно видалити системну бібліотеку JRE з Java Build Path та додати її знову.


допитувач запитав причину, ви надали обхідне рішення
Йоханнес,

0

Моє рішення, яке нарешті спрацювало, було очистити всі проекти, закрити затемнення, очистити всі проекти, закрити затемнення і т. Д. Принаймні 5-6 разів. Зрештою все влаштувалося, і все було як слід. Найдивніша річ коли-небудь !!

І жодних помилок у поданні Проблема чи консоль не було.

Також це сталося після аварії комп'ютера. Востаннє, коли це сталося, ціла моя робоча область була повністю втрачена. Він все ще був там на комп’ютері, але коли я намагався отримати до нього доступ, воно було б порожнім.

З будь-якої причини комп'ютерні збої насправді насправді дуже погано справляються із затемненням.


0

Також ви можете оновити проект, натиснувши,

Клацніть правою кнопкою миші назву проекту -> Виберіть Maven -> Клацніть правою кнопкою миші -> Оновити проект.

Це мені допомогло.

Дякую.


0

Це може статися з ряду причин. Якщо ви змінили jdk, на грані проекту буде червоний знак X, а жодна інша папка не відображатиме помилки. Якщо це так, змініть jdk, який відображається. Це трапляється в нашому класі JAX-WS ( HSG)


0

Я вирішив своє

  • Закрити всі інші проекти (тобто незв'язаний варіант проекту)

  • Чистити і будувати

Мій проект був андроїд, і це вдалося.



0

У моєму випадку, що вирішило цю проблему, було просто закрити затемнення та відкрити його знову ... Однак я все ще не впевнений, чому це сталося чи чому це спрацювало. У мене виникли проблеми з очищенням мого проекту (він сказав, що він не може видалити певний файл), і це вирішило :):


0

у мене була така ж проблема. Я перевірив "Проблеми" -Tab і не знайшов сервера для проекту. Я визначив сервер. червоний-х зник


0

Можна перейти до проекту-> Buildpath-> Library

Якщо є будь-яка бібліотека, яка позначена символом X, тобто [хрест позначений], видаліть її і знову спробуйте створити Це працювало і для мене /


0

Я зіткнувся з цією проблемою сьогодні і знайшов це посилання. Я слідував, як згадував Патрік Шефер вище, і відкрив діалогове вікно проекту Update Maven. Клацніть на моєму робочому проекті і встановіть прапорець "Примусово оновити знімки / релізи" та "Гаразд". Увесь червоний хрест зник. Сподіваюся, це допоможе комусь, хто потрапив у подібну ситуацію.


-2

Клацніть правою кнопкою миші на проект з помилками, а потім у підменю виберіть: Maven > UpdateProject >

і потім:

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

Це працювало для мене ..

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.