Проект Java в Eclipse: тип java.lang.Object неможливо вирішити. На це опосередковано посилаються необхідні файли .class


209

Після імпорту проекту в Eclipse я отримую таку помилку:

Тип java.lang.Object неможливо вирішити. На це опосередковано посилаються необхідні файли .class

Однак я встановив шлях як C: \ Program Files \ Java \ jdk1.6.0_41 в Eclipse Kepler, через вікно »Налаштування» Java »Встановлені JRE .


Я зробив "копіювати проект", і помилка зникла
Шрінат Ганеш

Така поведінка все ще зустрічається у випуску Luna Service Release 2 (4.4.2). Тут рішення все ще може вирішити проблему.
фобічний

Відповіді:


243

Це дратівливий помилок Eclipse, який, здається, кусає раз у раз. Дивіться http://dev-answers.blogspot.de/2009/06/eclipse-build-errors-javalangobject.html для можливого рішення, інакше спробуйте наступне;

  • Закрийте проект і знову відкрийте його.

  • Очистіть проект (це відновить конвеєрний шлях, отже, перенастроюючись на бібліотеки JDK)

    АБО

  • Видаліть і повторно імпортуйте проект, а за необхідності виконайте вищезазначені дії ще раз.

Краще ліки - спробувати NetBeans замість Eclipse :-)


4
Те ж саме. Химерний помилок Eclipse. Як зазначається в посиланні, видалення бібліотеки JRE з класного шляху проекту та повторне додавання вирішує проблему.
Феліпе Лео

О, для світу, у якого не було контрактів з IBM.
Zibbobz

1
У мене виникла помилка в проекті Android, для мене натиснувши на Інструменти Android -> Виправити властивості проекту виправили це.
Лоренц

@Zibbobz для чого нам потрібен контракт з IBM. Я досі не в змозі вирішити це з IBM Java.
Ананд

Цікаво, чи це пов’язано із зміною змінної середовища JAVA_HOME? Я змінив свою змінну JAVA_HOME, і ця з'явилася. Я щойно видалив / прочитав бібліотеку JRE.
user2124871

221

Наступні кроки можуть допомогти:

  1. Клацніть правою кнопкою миші на проект »Властивості» Java Build Path
  2. Виберіть вкладку Бібліотеки
  3. Знайдіть системну бібліотеку JRE та видаліть її
  4. Натисніть кнопку Додати бібліотеку ... праворуч »Додати системну бібліотеку JRE (за замовчуванням JRE робочої області)

4
У моєму випадку це сталося тому, що я випадково видалив JRE під час імпорту проекту [з моєї вини]. Це дало мені підказку для вирішення проблеми.
ГаяшанаNA

в моєму випадку його взагалі не було, тому я додав його.
Мухаммед Рефаат

1
Хоча це працювало в моєму випадку, вирішило 8 помилок, але дало мені ще 33!
Суворий Фудждар

10

Ось як я це вирішив: У Java-ADT: Windows - Налаштування - Java - Встановлені JRE Просто додайте ще один JRE, вказуючи на папку 'jre' у папці JDK. (jre включено в jdk). Переконайтесь, що ви вибрали новий jre.


10

Це сталося зі мною, коли я імпортував проект Java 1.8 від Eclipse Luna в Eclipse Kepler.

  1. Клацніть правою кнопкою миші на проекті> Складіть шлях> Налаштуйте шлях збірки ...
  2. Виберіть вкладку «Бібліотеки», ви побачите Java 1.8 jre з помилкою
  3. Виберіть java 1,8 jre і натисніть кнопку Видалити
  4. Додати Бібліотека ...> Системна бібліотека JRE> Далі> за замовчуванням робоча область> Готово
  5. Клацніть OK, щоб закрити вікно властивостей
  6. Перейдіть до меню проекту> Очистити ...> ОК

Et voilà, що працювало на мене.


7

Клас об'єктів є базовим класом для всіх класів у Java, якщо у вас його немає, це означає, що у вас немає jdk lib на вашій збірній доріжці. Я не знаю багато про Kepler, але вам потрібно переконатися, що він вказує на правильний jdk для компіляції та правильний jre для запуску ваших програм java.

Однак я встановив шлях як C: \ Program Files \ Java \ jdk1.6.0_41 із затемнення Kepler toolbar-> windows-> preferences>> java-> встановлений jre

Ви намагаєтеся вказати jdk замість jre у своїх налаштуваннях. панель інструментів-> windows-> налаштування-> java-> встановлений jre має вказувати на jre, а не на jdk.


Я пробував і з цим. Але все ще в тому ж стані помилок.
Blue Diamond

4

Жодна з інших відповідей не працювала на мене. Але це зробив:

  1. Клацніть правою кнопкою миші проект у провіднику пакунків.
  2. Джерело> Очищення ...
  3. Далі> Готово

Коли я зробив це Eclipse, додав імпорт до одного з моїх класів. Я думаю, що це сталося тому, що я врятував свій проект із відсутнім імпортом, напевно, поспішаючи повертатися додому після роботи.


дякую .. його працює..поясніть мені, як це працює?
Сінгх Арджун

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

4

Ви встановили іншу версію JRE після, використовуючи попередню версію JRE в Eclipse.

якщо не ніж:

  1. Клацніть правою кнопкою миші на вашому проекті -> Збірка контуру -> Налаштування контуру збірки
  2. Перейдіть на вкладку "Бібліотеки"
  3. Додати бібліотеку -> системна бібліотека JRE -> далі -> JRE за замовчуванням робочої області (або ви можете вибрати альтернативну JRE форму вашої системи) -> закінчити

якщо так, ніж.

  1. Клацніть правою кнопкою миші на вашому проекті -> Збірка контуру -> Налаштування контуру збірки
  2. Перейдіть на вкладку "Бібліотеки"
  3. Видалити попередню версію
  4. Додати бібліотеку -> системна бібліотека JRE -> далі -> JRE за замовчуванням робочої області (або ви можете вибрати альтернативну JRE зі своєї системи) -> закінчити

4

Ніяка кількість очищення, закриття / повторного відкриття проекту та IDE, видалення / додавання JRE у шлях збірки не працювало для мене.

Я знайшов рішення - видалити проект із Eclipse (не з диска), видалити з диска файли Eclipse проекту та знову імпортувати в Eclipse. Це спрацювало.

Це ще швидше, якщо ви використовуєте Maven:

  1. Закрити Eclipse (не потрібно видаляти проект)
  2. Біжи mvn clean eclipse:clean eclipse:eclipse
  3. Відкрите затемнення. Ваш проект все ще присутній, і проблеми не можна втратити.

3

Ще однією проблемою може бути те, що ціль збірки Android Project не встановлена.

  1. Клацніть правою кнопкою миші проект
  2. Виберіть "Властивості"
  3. Натисніть Android
  4. Поставте галочку відповідної цілі збірки проекту
  5. Застосувати | гаразд

3

Клацніть правою кнопкою миші на проекті -> Показати у Навігаторі. У вікні навігатора ви можете побачити .classpath файл, видаліть цей файл та складіть проект. Це працювало для мене. PS. Якщо ви інтегрували проект eclipse з таким контролем версій, як perfoce / svn, тоді відключення проекту перед видаленням .classpath буде корисним.


2

Я зіткнувся з цією проблемою з програмою play-java на затемнення після додавання контролера, я видалив і перевстановив JRE через шлях збірки, а потім видалив і імпортував мій проект, який вирішив цю проблему автоматично. Спасибі гіроскоп.


Це те саме, що відповідь Ріпона Аль Васіма, правда?
Ніколя Раул

2

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


2

Що вирішило мою проблему

1) Встановіть jdk під каталогом без пробілів:

C:/Java

Замість

C:/Program Files/Java

Це відома проблема в Windows. Я встановив JAVA_HOME, а

2) Я Java 7 і Java 8 на своєму ноутбуці. Тому я визначив jvm за допомогою eclipse.ini. Це не обов'язковий крок, якщо у вас немає -vmзапису у вашому eclipse.ini. Я оновив:

C:/Java/jdk1.7.0_79/jre/bin/javaw.exe

Замість:

C:/Java/jdk1.7.0_79/bin/javaw.exe

Удачі


1

У мене були ті ж проблеми в затемненнях Windows, що я не міг додати залежні файли .class від JNI. Для того, щоб вирішити те саме, я переніс увесь код до NetBeans IDE.

Неможливо додати всі файли класів із папки JNI / JNA у Eclipse (JAVA, Windows 7)


Чому за це проголосували? Дивіться, я спробував усі можливі рішення, все-таки не міг вирішити проблему, і тоді я переніс код в NetBeans. Я відповів на це, тому що якщо хтось застряг, у гіршому випадку, він (він) може отримати допомогу.
Jyo Whiff

Ви можете мати рацію, але для мене JNI / JNA спрацювали чудово (для затемнення - 4.9.0) після видалення наявної бібліотеки та створення бібліотеки jre за замовчуванням, закриття проекту, відкритого проекту.
Аджай Кумар

1

Хоча ми працюємо з версіями tomcat 6 та jdk 1.8, деякі функції не працюватимуть, і ця помилка, яку ви отримуєте, - одна. Вам потрібно змінити версію jdk на стабільну версію (бажано jdk 1.6 або jdk 1.8_65) у затемненні, щоб усунути цю помилку.

на кроці затемнення 1: властивості -> шлях збірки Java -> системна бібліотека jre (видалити) крок 2: додати -> системна бібліотека jre -> альтернативний jre -> встановлений jre -> додати -> стандартний VM -> (у домі jre, місце jdk шлях) -> закінчити

тепер очистіть і перевірте проект


1

Я отримав цю помилку, оскільки я встановив "Eclipse IDE для Enterprise Java Developers", я видалив це та встановив "Eclipse IDE для розробників Java". Проблема вирішена для мене.


0

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


Я намагався це зробити, але мені поки що не дозволяють писати коментарі.
NotX

0

Як би тривіально це не було, перевірте встановлення Java. Для мене rt.jar відсутній .

Я виявив це після того, як на пів дня поспілкувався з налаштуваннями Eclipse і не потрапив нікуди. В розпачі я нарешті вирішив спробувати скласти проект із командного рядка. Я не сподівався побачити щось не так, оскільки думав, що це питання затемнення, але на моє здивування я побачив це:

Error occurred during initialization of VM
java/lang/NoClassDefFoundError: java/lang/Object

Я не знаю, що сталося з моєю установкою Java і куди пішов rt.jar. Так чи інакше, це нагадування про те, щоб пройти список невдач і поставити галочки у всіх полях незалежно від того, наскільки вони неймовірні. Це врятувало б мені багато часу.


0

Він працює для мене після зняття прапорця "User" - опція releae "у затемненому Java-компіляторі

На кроці затемнення 1: властивості -> java Complier -> зняти галочку з опцією 'User' - опція releae '-> закінчити

Версія Java 13.0.1 Eclipse версія: Eclipse IDE для Enterprise Java Developers.


0

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


робити затемнення -> maven -> оновлення має стати одним із кроків під час усунення несправностей.
Вайбс

0

У моєму випадку це був великий модульний проект, і « червоний X » демонструвався лише у батьківському проекті. Я перейшов до батьківського проекту

Властивості -> Вбудований шлях

видалена там бібліотека JRE, просто це, більше немає жодної бібліотеки JRE у батьківському проекті.


0

Жодне з цих рішень не працювало на мене. У моєму випадку проблема полягала в тому, що у мене був якийсь Java-код, який створює .javaфайли, і я випадково створив файл під назвою Class.java(вміст, здається, не має значення). Видалення файлу усунула проблему.

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