Eclipse에서 오류가 발생했습니다. 이 오류 메시지의 의미는 다음과 같습니다.
iglu.ir.TermVector 유형을 확인할 수 없습니다. 필수 .class 파일에서 간접적으로 참조됩니다.
Eclipse에서 오류가 발생했습니다. 이 오류 메시지의 의미는 다음과 같습니다.
iglu.ir.TermVector 유형을 확인할 수 없습니다. 필수 .class 파일에서 간접적으로 참조됩니다.
답변:
"사용하는 클래스에는 클래스 경로에없는 다른 클래스가 필요합니다." 필요한 항아리를 클래스 경로에 추가해야합니다 (Harry Joy가 제안한대로).
이것은 실제 오류이므로 Eclipse가 혼란 스러울 수 있습니다. 나는 오류를 무시하고 endpointInterface가 불평하는 웹 서비스를 실행했으며 대화를 실행할 때마다 대화 상자를 처리 해야하는 것을 제외하고는 정상적으로 실행되었습니다. 나에게 아무것도 알려주지 않는 또 다른 불투명 한 오류.
때때로 나는 항상 "mvn eclipse : clean"명령으로 오래된 속성을 지우고 mvn eclipse : eclipse -Dwtpversion = 2.0 (웹 프로젝트의 경우)을 실행하도록 수정했습니다. 구식 속성이 저장되어 있기 때문에 이클립스가 때때로 혼란 스러울 수 있습니다.
mvn eclipse:clean그리고 / 또는 mvn eclipse:eclipse은 그것이 작동하게하는 마술로 보입니다.
때문에이 오류가 발생했습니다 로컬 maven 저장소 손상되어이 .
따라서 문제를 해결하려면 내 저장소로 가서 관련 .jar가있는 폴더를 삭제 한 다음 update mavenEclipse에서 강제로 실행해야 했습니다.
이것은 3.0에서 해결 된 알려진 문제 (버그 67414) 인 것처럼 들립니다 ... 누군가가 3.4에서도 발생한다고 언급했습니다.
그 동안의 해결 방법은 프로젝트에서 JRE 시스템 라이브러리를 제거한 다음 다시 추가하는 것입니다.
Here are the steps:
빌드 오류가있는 프로젝트의 속성으로 이동하십시오 (마우스 오른쪽 버튼 클릭> 속성)
"빌드 경로"섹션의 "라이브러리"탭보기
목록에서 "JRE 시스템 라이브러리"를 찾으십시오 (없는 경우이 오류 메시지는 일식 버그가 아니라 잘못 구성된 프로젝트입니다)
"JRE 시스템 라이브러리"를 제거하십시오.
"라이브러리 추가 ..."를 누르고 "JRE 시스템 라이브러리"를 선택하고 프로젝트에 적절한 JRE를 추가하십시오 (예 : '작업 공간 기본 JRE')
라이브러리 선택에서 "완료"를 누르고 프로젝트 속성에서 "확인"을 누른 다음 프로젝트가 다시 빌드 될 때까지 기다리십시오.
잘하면 오류가 해결 될 것입니다 ...
Eclipse 4.4.2 에서이 문제에 대한 흥미로운 사례가있었습니다. 내 프로젝트 (P1)는 이름은 같지만 인수 유형이 다른 두 가지 메소드가있는 외부 클래스 (프로젝트 P2)를 참조했습니다.
public static void setItem(Integer id) …
public static void setItem(Item item) …
이 유형 Item은 세 번째 프로젝트 P3에 포함되어 있으며 여기에서 표시하고 싶지 않습니다. P1은 첫 번째 방법 만 호출했습니다.
ExternalClass.setItem(Integer.valueOf(12345));
두 번째 방법은 Item 클래스 은 사용되지 않았으며 P3이 컴파일 클래스 경로에 없었던 것이 사실입니다. 왜 사용하지 않으면 사용해야합니까?
아직도 이클립스는 나에게 말했다
The type ...Item cannot be resolved.
It is indirectly referenced from required .class files
명령 줄에서 컴파일해도 이러한 문제는 발생하지 않았습니다. 두 번째 방법의 이름을 변경하면 (여기서는 사용하지 않습니다!) 이클립스에서도 문제가 해결되었습니다.
코드에서 아무것도 아닌 일부 svn 설정을 변경하면 오류가 발생했습니다. 프로젝트를 정리하면 오류가 해결되었습니다.
내 경우, 나는 프로젝트를 생성하고 만들어 minSdkVersion=9와 targetSdkVersion=17. 자동 생성을 사용했습니다 libs/android-support-v4.jar. 또한 사용했습니다 ActionBarActivity사용하여 android-support-v7-appcomapt.jar. 그래서 방금 폴더 에서 android-support-v7-appcompat.jar파일을 복사하여 android-sdk/extras/andrid/support/v7/appcompat/libs프로젝트 libs폴더에 붙여 넣었습니다 . 그리고 이것은 위의 오류를 일으켰습니다. 그래서 기본적으로 android-support-v4.jar파일을 android-sdk/extras/andrid/support/v7/appcompat/libs프로젝트 libs폴더 에 넣어야했습니다 . 내 지식에 따라 v7.jar파일은 파일에 종속되었습니다 v4.jar. 그래서 v4.jar내 프로젝트 대신 자동으로 생성 된 v4.jar파일 인 자체 파일 이 필요했습니다 .
빠르고 간단하게이 방법으로 수정했습니다 (Windows XP Home Edition에서 ADT 버전 : v21.0.0-531062 사용).
그러나 문제는 며칠마다 반환됩니다. 나는 위와 똑같이하고 해결하고 발전시킬 수 있습니다.
당신이 우리에게 아주 작은 세부 사항을 제공하기 때문에, 당신이 한 일, 아마도 매우 쉬운 실수는 아마도
Build Path > Configure Build Path > Projects
거기에서 추가 프로젝트 폴더를 추가하는 대신
Build Path > Configure Build Path > Libraries
대신 거기에서 프로젝트 폴더를 추가했습니다.
코드가 모두 정확하지만 자동으로 가져 오기를 재구성하면 ctrl+space com.your.additionalproject를 참조하는 import 문 대신 바로 가기 참조가 모두 bin.com.your.additionalproject를 가리키는 .
빈에 유의하십시오. 다른 프로젝트 폴더 구조를 라이브러리로 취급하여 클래스를 간접적으로 참조한다는 것은 IDE가 참조하는 정확히 이진 클래스를 찾는 모든 작업을 수행함을 의미합니다.
이 문제를 해결하려면 라이브러리에서 폴더를 제거하고 대신 프로젝트 탭에서 폴더를 추가하고 가져 오기를 재구성하십시오. 프로젝트가 잘 작동합니다.
새 일식 버전을 사용하고 이전 일식 버전과 함께 사용했던 이전 작업 공간을 사용하려고하면이 오류가 발생합니다.
다음은 문제를 해결하는 방법입니다.
패키지 탐색기-> 특성-> Java 빌드 경로-> 라이브러리->에서 프로젝트를 마우스 오른쪽 단추로 클릭하십시오 .JRE 시스템 라이브러리에 오류 (십자가 표시)가 표시됩니다. 경로를 찾을 수 없기 때문입니다. -> JRE 시스템 라이브러리를 두 번 클릭하십시오.-> "작업 공간 기본 JRE"옵션-> 완료-> 확인을 선택하십시오. -> BUM IT가 작동하고 있습니다.
참고로
제 경우에는 pom.xml파일에 새로운 종속성을 추가 한 결과였습니다 .
새로운 종속성은 이전 버전의 라이브러리 (2.5)에 의존했습니다. 같은 라이브러리가 내 다른 라이브러리에 필요했습니다.pom.xml 했지만 버전 3.0이 필요했습니다.
어떤 이유로 Maven에서 이러한 충돌이 발생하면 최신 버전 만 생략됩니다. Eclipse에서 볼 때 pom.xml맨 아래의 "종속성 계층 구조"탭을 선택하여 종속성이 어떻게 해결되는지 확인할 수 있습니다. 이러한 이유로 해당 라이브러리 (및 클래스)가 생략되었는지 확인할 수 있습니다.
필자의 경우 최신 버전을 잠그는 것만 큼 간단했습니다. 항목을 마우스 오른쪽 버튼으로 클릭하면 상황에 맞는 메뉴에서 항목을 잠글 수있는 옵션이 있습니다.
빌드 경로에서 JRE를 JDK로 지정하십시오. 그것은 나를 위해 일했다.