Проект 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
Тоже самое. Причудливая ошибка Затмения. Как сказано в ссылке, удаление библиотеки JRE из пути к классам проекта и ее повторное добавление устраняет проблему.
Фелипе Леан

О, для мира, у которого не было контрактов с IBM.
Зиббобз

1
У меня была эта ошибка в проекте Android, потому что я нажал на Инструменты Android -> Исправить свойства проекта и исправил ее.
Лоренц

@Zibbobz зачем нам контракт с IBM. Я все еще не могу решить эту проблему с IBM Java.
Ананд

Интересно, это связано с тем, когда вы меняете переменную среды JAVA_HOME? Я изменил свою переменную JAVA_HOME, и это выскочило. Я только что удалил / прочитал библиотеку JRE.
user2124871 23.09.16

222

Следующие шаги могут помочь:

  1. Щелкните правой кнопкой мыши на проекте »Свойства» Java Build Path
  2. Выберите вкладку « Библиотеки »
  3. Найдите системную библиотеку JRE и удалите ее
  4. Нажмите кнопку Добавить библиотеку ... справа »Добавить системную библиотеку JRE (JRE по умолчанию для рабочей области)

4
В моем случае это произошло потому, что я случайно удалил JRE при импорте проекта [моя ошибка]. Это дало мне ключ к решению проблемы.
Гаяшанна

в моем случае его вообще не было, поэтому я добавил его.
Мухаммед Рефаат

1
Хотя это сработало в моем случае, решило 8 ошибок, но дало мне еще 33!
Суровый Phoujdar

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 в вашем пути сборки. Я немного знаю о Kepler, но вам нужно убедиться, что он указывает на правильный jdk для компиляции и правильный jre для запуска ваших java-приложений.

Однако я установил путь как C: \ Program Files \ Java \ jdk1.6.0_41 из панели инструментов eclipse Kepler-> windows-> предпочтения-> java-> установленный jre

Вы пытаетесь указать JDK вместо JRE в ваших предпочтениях. панель инструментов-> windows-> настройки-> java-> установленная jre должна указывать на jre, а не на jdk.


Я тоже пытался с этим. Но все еще в том же состоянии ошибки.
Blue Diamond

4

Ни один из других ответов не работал для меня. Но сделать это сделал:

  1. Щелкните правой кнопкой мыши по проекту в проводнике пакетов.
  2. Источник> Очистить ...
  3. Далее> Готово

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


спасибо .. это работает .. пожалуйста, объясните мне, как это работает?
Сингх Арджун

@SinghArjun Я не уверен, но думаю, что это происходит, когда проект сохраняется с отсутствующим импортом.
Джек Петтингер

4

Установили ли вы другую версию JRE после использования предыдущей версии JRE в Eclipse.

если не чем:

  1. Щелкните правой кнопкой мыши по вашему проекту -> Build Path -> Configure Build Path
  2. Перейти на вкладку «Библиотеки»
  3. Добавить библиотеку -> Системная библиотека JRE -> Далее -> JRE рабочей области по умолчанию (или вы можете выбрать Альтернативный JRE из вашей системы) -> Готово

если да, то чем.

  1. Щелкните правой кнопкой мыши по вашему проекту -> Build Path -> Configure Build Path
  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 Build Target не установлен.

  1. Щелкните правой кнопкой мыши проект
  2. Выберите Свойства
  3. Нажмите Android
  4. Отметьте соответствующую цель Project Build Target
  5. Применить | хорошо

3

Щелкните правой кнопкой мыши по проекту -> Показать в навигаторе. В представлении навигатора вы можете увидеть файл .classpath, удалить этот файл и построить проект. Это сработало для меня. PS. Если вы интегрировали свой проект eclipse с каким-либо управлением версиями, например perfoce / svn, то отмена связи проекта перед удалением .classpath будет полезна.


2

Я столкнулся с этой проблемой с приложением play-java на eclipse после добавления контроллера, я удалил и переустановил JRE через путь сборки, а затем удалил и импортировал свой проект, который автоматически решил эту проблему. Спасибо гироскоп.


Это то же самое, что ответ Рипона Аль-Васима, верно?
Николас Рауль

2

Похоже, это ошибка Eclipse, хотя перезапуск Eclipse отлично сработал для меня, надеюсь, это поможет кому-то еще.


2

Что решило мою проблему, так это

1) Установите jdk в каталог без пробелов:

C:/Java

Вместо того

C:/Program Files/Java

Это известная проблема в Windows. Я установил JAVA_HOME, а

2) Я Java 7 и Ява 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

У меня была та же проблема в окнах затмения, что я не мог добавить зависимые файлы .class из JNI. Чтобы разрешить то же самое, я перенес весь код в IDE NetBeans.

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


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

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

1

Хотя мы работаем с версиями Tomcat 6 и JDK 1.8, некоторые функции не будут работать, и эта ошибка, которую вы получаете, одна. Чтобы устранить эту ошибку, вам нужно изменить версию jdk на стабильную (предпочтительно jdk 1.6 или jdk 1.8_65) в eclipse.

на этапе 1 затмения: свойства -> путь сборки java -> системная библиотека jre (удалить) шаг 2: добавить -> системная библиотека jre -> альтернативный jre -> установленный jre -> добавить -> стандартная виртуальная машина -> (в jre home, место jdk путь) -> конец

сейчас почисти и проверь проект


1

Я получил эту ошибку, потому что я установил «Eclipse IDE для разработчиков Java на предприятии», я удалил его и установил «Eclipse IDE для разработчиков Java». Проблема решена для меня.


0

Случайно со мной после того, как я установил некоторые обновления в Eclipse, но потом забыл перезапустить. Так что, возможно, перезапуск затмения может помочь.


Я пытался это сделать, но мне пока запрещено писать комментарии.
NotX

0

Как бы это ни было тривиально, проверьте вашу установку Java. Для меня rt.jar не хватало .

Я нашел это после того, как полдня возился с настройками Eclipse и ничего не получалось. В отчаянии я наконец решил попробовать скомпилировать проект из командной строки. Я не ожидал увидеть что-то неправильное, так как думал, что это проблема Eclipse, но, к своему удивлению, я увидел это:

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

Я не знаю, что случилось с моей установкой Java и куда делся rt.jar. В любом случае, это напоминание о том, что нужно пройти контрольный список ошибок и отметить все поля, какими бы невероятными они ни были. Это сэкономило бы мне много времени.


0

Это работает для меня после снятия отметки 'User' --releae option 'в Java-компиляторе eclipse

На этапе 1 затмения: свойства -> Java Complier -> отметка опции 'User' --releae option '-> finish

Версия Java 13.0.1 Версия Eclipse: Eclipse IDE для корпоративных разработчиков Java.


0

Щелкните правой кнопкой мыши по проекту, выберите Maven -> Обновить проект. Это должно решить проблему.


выполнение eclipse -> maven -> update должно быть одним из шагов при устранении неполадок.
Вайбс

0

В моем случае это был большой модульный проект, и « красный Х » показывался только в родительском проекте. Я пошел в родительский проект

Свойства -> Построенный путь

a там удалена библиотека JRE, только что больше нет библиотеки JRE в родительском проекте.


0

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.