Проект 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à, это сработало для меня.

e18r
источник
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. Применить | хорошо
satyrFrost
источник
3

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

Sankalp
источник
2

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

user989383
источник
Это то же самое, что ответ Рипона Аль-Васима, верно?
Николас Рауль
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

Удачи

KerenSi
источник
1

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

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

Jyo The Whiff
источник
Почему за это проголосовали? Посмотрите, я попробовал все возможные решения, все еще не смог решить проблему, а затем я портировал код в 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 путь) -> конец

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

NSetty
источник
1

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

RVR
источник
0

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

NotX
источник
Я пытался это сделать, но мне пока запрещено писать комментарии.
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.

poovaraj
источник
0

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

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

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

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

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

Франциско Соуза
источник
0

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

HappyEvilSlosh
источник