[java] Eclipse 컴파일 오류 : ‘클래스 이름’유형의 계층 구조가 일치하지 않습니다

Java로 작성된 일부 오픈 소스 소프트웨어를 다운로드하고 Eclipse를 사용하여 컴파일하려고 시도했습니다. 일부 파일에서 ” ‘클래스 이름’유형의 계층 구조가 일치하지 않습니다라는 오류가 발생했습니다 . 이러한 오류의 원인은 무엇이고 어떻게 해결합니까?



답변

존재하지 않는 인터페이스를 구현하려고하거나 존재하지 않는 클래스를 확장하고 있음을 의미합니다.

Eclipse를 새로 고치십시오.

작동하지 않으면 빌드 경로에없는 JAR에 대한 참조가 있음을 의미 할 수 있습니다. 프로젝트의 클래스 경로를 확인하고 인터페이스 또는 클래스를 포함하는 jar이 포함되어 있는지 확인하십시오.


답변

때로는 필요한 항아리를 추가 할 때 발생하지만 IT에 필요한 항아리는 포함하지 않습니다. 내 경우에는 tomcat / lib에 모든 항아리를 추가하면이 문제를 해결하는 데 도움이되었습니다. 웹 응용 프로그램을 작성 중입니다.


답변

오류를 확인하십시오 ( “마커”탭). 나는 또한 다음과 같은 오류가 있었다 :

프로젝트의 필수 라이브러리에 대한 아카이브를 읽을 수 없습니다 …

그것이 수정되었을 때 “일관되지 않은 오류”는 사라졌습니다.

실제로 빌드 경로에 항아리를 추가했지만 어떤 이유로 든 오류가 발생하여 읽을 수 없었습니다.

프로젝트의 필수 라이브러리에 대한 아카이브를 읽을 수 없거나 유효한 ZIP 파일이 아닙니다.

대신 “외부 항아리”로 추가했습니다. 도움이되었고 모든 컴파일 문제는 더 이상 없었습니다!


답변

JDK를 새 버전으로 업그레이드 한 후이 문제가 발생했습니다. 프로젝트 속성 / Java 빌드 경로에서 라이브러리에 대한 참조를 업데이트해야했습니다.


답변

내가 한 건 더 있어요 올바른 프로젝트 경로를 제공하고 이클립스로 가져 오십시오.

그런 다음 프로젝트-> 정리-> 모든 프로젝트 정리로 이동하십시오.


답변

프로젝트를 정리하거나 Eclipse를 다시 시작해야합니다.


답변

클래스 경로에있는 라이브러리 파일의 일부 클래스가 다른 jar 파일에있을 수있는 존재하지 않는 클래스를 참조하는 경우이 오류가 표시됩니다. 내가 추가하지 않은 경우 여기,이 오류가 발생 org.springframework.beans-3.1.2.RELEASE.jar하고로부터 클래스를 확장했다 org.springframework.jdbc.core.support.JdbcDaoSupport이었다, org.springframework.jdbc-3.1.2.RELEASE.jar나의 클래스 패스를.