Eclipse의 Java 프로젝트 : java.lang.Object 유형을 해석 할 수 없습니다. 필수 .class 파일에서 간접적으로 참조됩니다.


209

Eclipse에서 프로젝트를 가져온 후 다음 오류가 발생합니다.

java.lang.Object 유형을 해석 할 수 없습니다. 필수 .class 파일에서 간접적으로 참조됩니다.

그러나 Eclipse Kepler에서 Window»Preferences»Java»Installed JREs를 통해 경로를 C : \ Program Files \ Java \ jdk1.6.0_41설정했습니다 .


내가 "복사 프로젝트"를 만들어 오류가 사라
Srinath 가네을

이 문제는 Luna Service Release 2 (4.4.2)에서 계속 발생합니다. 여기의 해결 방법으로도 문제를 해결할 수 있습니다.
공포증

답변:


243

이것은 때때로 물린 것처럼 보이는 성가신 이클립스 버그입니다. 가능한 해결책 은 http://dev-answers.blogspot.de/2009/06/eclipse-build-errors-javalangobject.html 을 참조 하십시오 . 그렇지 않으면 다음을 시도하십시오.

  • 프로젝트를 닫고 다시여십시오.

  • 프로젝트를 정리하십시오 (빌드 경로를 다시 빌드하므로 JDK 라이브러리로 재구성)

    또는

  • 프로젝트를 삭제하고 다시 가져 오십시오. 필요한 경우 위 단계를 다시 수행하십시오.

더 나은 치료법은 Eclipse 대신 NetBeans를 시도하는 것입니다 :-)


4
여기도 마찬가지입니다. 기괴한 이클립스 버그. 링크에서 알 수 있듯이 프로젝트의 클래스 경로에서 JRE 라이브러리를 제거하고 다시 추가하면 문제가 해결됩니다.
Felipe Leão

오, IBM과 계약을 맺지 않은 세계의 경우.
Zibbobz

1
Android 프로젝트에서 오류가 발생했습니다 .Android 도구-> 프로젝트 속성 수정을 클릭하면 문제가 해결되었습니다.
Lorenz

@Zibbobz 왜 IBM과 계약을해야합니까? 여전히 IBM Java로이 문제를 해결할 수 없습니다.
Anand

JAVA_HOME 환경 변수를 변경할 때 이것이 관련이 있는지 궁금합니다. JAVA_HOME 변수를 변경했는데 팝업이 나타납니다. 방금 JRE 라이브러리를 제거 / 읽었습니다.
user2124871

221

다음 단계가 도움이 될 수 있습니다.

  1. 프로젝트 »속성»Java 빌드 경로를 마우스 오른쪽 단추로 클릭하십시오.
  2. 라이브러리 선택 탭
  3. JRE 시스템 라이브러리를 찾아서 제거하십시오.
  4. 오른쪽에있는 라이브러리 추가 ... 버튼을 클릭 하십시오. »JRE 시스템 라이브러리 추가 (작업 영역 기본 JRE)

4
제 경우에는 프로젝트를 가져 오는 동안 실수로 JRE를 제거했기 때문에 발생했습니다 [내 결함]. 이 문제를 해결하기위한 단서가되었습니다.
GayashanNA

내 경우에는 전혀 존재하지 않았으므로 추가했습니다.
Muhammed Refaat

1
이것은 내 경우에는 효과가 있었지만 8 오류를 해결했지만 다른 33을 주었다!
Harsh Phoujdar

10

Java-ADT에서 : Windows-환경 설정-Java-설치된 JRE JDK 폴더 아래의 'jre'폴더를 가리키는 다른 JRE를 추가하십시오. (jre는 jdk에 포함되어 있습니다). 새로운 jre를 선택했는지 확인하십시오.


10

Eclipse Luna에서 Eclipse Kepler로 Java 1.8 프로젝트를 가져올 때 이런 일이 일어났습니다.

  1. 프로젝트> 빌드 경로> 빌드 경로 구성을 마우스 오른쪽 단추로 클릭하십시오.
  2. 라이브러리 탭을 선택하면 오류가있는 Java 1.8 jre가 표시됩니다.
  3. java 1.8 jre를 선택하고 제거 버튼을 클릭하십시오.
  4. 라이브러리 추가 ...> JRE 시스템 라이브러리> 다음> 작업 공간 기본값> 완료
  5. 확인을 클릭하여 속성 창을 닫습니다
  6. 프로젝트 메뉴> 정리 ...> 확인으로 이동하십시오.

voilà, 그것은 나를 위해 일했습니다.


7

객체 클래스는 Java의 모든 클래스에 대한 기본 클래스입니다.이 클래스가 없으면 빌드 경로에 jdk 라이브러리가 없습니다. Kepler에 대해 많이 모르지만 컴파일을위한 올바른 jdk 및 Java 앱을 실행하기위한 올바른 jre를 가리키는 지 확인해야합니다.

그러나 Eclipse Kepler toolbar-> windows-> preferences-> java-> installed jre에서 C : \ Program Files \ Java \ jdk1.6.0_41로 경로를 설정했습니다.

환경 설정에서 jre 대신 jdk를 가리 키려고합니다. toolbar-> windows-> 환경 설정-> java-> 설치된 jre는 jdk가 아닌 jre를 가리켜 야합니다.


나는 그것으로 시도했다. 그러나 여전히 동일한 오류 상태입니다.
블루 다이아몬드

4

다른 답변들 중 어느 것도 나를 위해 일하지 않았습니다. 그러나 이렇게하면 :

  1. 패키지 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭하십시오.
  2. 소스> 정리 ...
  3. 다음> 마침

이 작업을 수행했을 때 Eclipse는 내 클래스 중 하나에 가져 오기를 추가했습니다. 수입품이 누락되어 프로젝트를 저장했기 때문에 이런 일이 발생했다고 생각합니다.


고마워요 .. 작동 .. 그것이 작동하는 방법을 설명 해주십시오?
Singh Arjun

@SinghArjun 확실하지 않지만 프로젝트가 누락 된 가져 오기로 저장되면 이것이 발생한다고 생각합니다.
Jack Pettinger

4

Eclipse에서 이전 버전의 JRE를 사용하면서 다른 버전의 JRE를 설치 했습니까?

그렇지 않은 경우 :

  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. Eclipse를여십시오. 프로젝트가 여전히 존재하고 문제가 없어야합니다.

3

또 다른 문제점은 Android 프로젝트 빌드 대상이 설정되지 않았을 수 있습니다.

  1. 프로젝트를 마우스 오른쪽 버튼으로 클릭
  2. 속성을 선택하십시오
  3. 안드로이드 클릭
  4. 적절한 프로젝트 빌드 대상을 선택하십시오
  5. 적용 | 확인

3

프로젝트를 마우스 오른쪽 버튼으로 클릭하십시오-> 네비게이터에 표시 네비게이터보기에서 .classpath 파일을 볼 수 있습니다.이 파일을 삭제하고 프로젝트를 빌드하십시오. 이것은 나를 위해 일했습니다. 추신. perfoce / svn과 같은 일부 버전 제어와 일식 프로젝트를 통합 한 경우 .classpath를 삭제하기 전에 프로젝트 연결을 해제하면 도움이됩니다.


2

컨트롤러를 추가 한 후 Eclipse에서 play-java 응용 프로그램 으로이 문제에 직면하고 있으며 빌드 경로를 통해 JRE를 제거하고 다시 설치 한 다음 프로젝트를 제거하고 가져 와서이 문제를 자동으로 해결했습니다. 고마워 자이로


이것은 Ripon Al Wasim의 대답과 동일합니다.
Nicolas Raoul

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

Eclipse 창에서 JNI의 종속 .class 파일을 추가 할 수없는 것과 동일한 문제가있었습니다. 동일한 문제를 해결하기 위해 모든 코드를 NetBeans IDE로 이식했습니다.

Eclipse의 JNI / JNA 폴더에서 모든 클래스 파일을 추가 할 수 없음 (JAVA, Windows 7)


왜 투표가 중단 되었습니까? 가능한 모든 솔루션을 시도했지만 여전히 문제를 해결할 수 없으며 코드를 NetBeans로 이식했습니다. 최악의 경우 누군가 멈춰 있으면 도움을받을 수 있기 때문에 나는 이것에 대답했다.
Jyo the Whiff

당신은 옳을 수도 있지만 JNI / JNA는 기존 라이브러리를 삭제하고 기본 jre 라이브러리를 설정하고 프로젝트를 닫고 프로젝트를 연 후 잘 작동했습니다 (일식-4.9.0).
Ajay Kumar

1

우리가 tomcat 6 및 jdk 1.8 버전으로 작업하는 동안 일부 기능이 작동하지 않으며이 오류는 하나입니다. 이 오류를 해결하려면 Eclipse에서 jdk 버전을 안정적인 버전 (바람직한 jdk 1.6 또는 jdk 1.8_65)으로 변경해야합니다.

이클립스 1 단계 : 속성-> Java 빌드 경로-> jre 시스템 라이브러리 (제거) 2 단계 : 추가-> jre 시스템 라이브러리-> 대체 jre-> 설치된 jre-> 추가-> 표준 VM-> (jre 홈에서, jdk 경로를 배치하십시오)-> 완료

이제 프로젝트를 청소하고 확인하십시오.


1

"Eclipse IDE for Enterprise Java Developers"를 설치하고이 오류를 제거한 후 "Eclipse IDE for Java Developers"를 설치했기 때문에이 오류가 발생했습니다. 문제가 해결되었습니다.


0

일식에 일부 업데이트를 설치했지만 나중에 다시 시작하는 것을 잊어 버린 후에 나에게 일어난다. 따라서 일식을 다시 시작하면 도움이 될 수 있습니다.


나는 그것을 시도했지만 아직 의견을 쓸 수는 없습니다.
NotX 2016

0

그러나 사소한 일이더라도 Java 설치를 확인하십시오. 나를 위해 rt.jar이 누락되었습니다 .

나는 이클립스 설정으로 반나절을 지내고 아무데도 가지지 않고 이것을 발견했습니다. 필사적으로 필자는 마침내 커맨드 라인에서 프로젝트를 컴파일하기로 결정했습니다. 나는 이것이 Eclipse 문제라고 생각했기 때문에 잘못된 것을 기대하지 않았지만 놀랍게도 이것을 보았다.

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

Java 설치에 무슨 일이 있었으며 rt.jar은 어디로 갔는지 모르겠습니다. 어쨌든 이것은 실패 체크리스트를 통과하고 얼마나 믿을 수 없더라도 모든 상자를 체크하라는 알림으로 제공됩니다. 그것은 많은 시간을 절약했을 것입니다.


0

이클립스 Java 컴파일러에서 'User'--releae option '을 선택 해제 한 후 나를 위해 일하고 있습니다.

이클립스 1 단계 : 속성-> Java Complier-> 'User'--releae option '옵션 확인-> finish

Java 버전 13.0.1 Eclipse 버전 : Enterprise Java 개발자를위한 Eclipse IDE.


0

프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Maven-> 프로젝트 업데이트를 선택하십시오. 문제가 해결 될 것입니다.


이클립스-> maven-> 업데이트를 수행하는 것은 문제 해결 중 단계 중 하나 여야합니다.
Vaibs

0

필자의 경우 큰 모듈 형 프로젝트였으며 ' 빨간색 X '는 상위 프로젝트에서만 표시되었습니다. 나는 부모 프로젝트에 갔다

속성-> 빌드 경로

는 JRE 라이브러리를 제거했습니다. 부모 프로젝트에는 더 이상 JRE 라이브러리가 없습니다.


0

이 솔루션들 중 어느 것도 나를 위해 일하지 않았습니다. 필자의 경우 문제는 .java파일을 생성하는 Java 코드가 있고 실수로 Class.java(콘텐츠는 중요하지 않은) 라는 파일을 만든 것입니다. 파일을 제거하면 문제가 해결되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.