“Maven 프로젝트 업데이트”오류를 수정하는 방법. 지원되지 않는 IClasspathEntry kind = 4?


412

업데이트 업데이트 프로젝트를 실행할 때 STS에서 maven 프로젝트를 가져 왔습니다.

"Updating Maven Project". Unsupported IClasspathEntry kind=4

이에 대한 해결 방법이 있습니까?


명령 행에서 빌드가 작동합니까? 어떤 메이븐 버전?
khmarbaise

나는 같은 문제를 가지고
있으며이 답변으로 숨을

답변:


613

이 문제는 m2e 1.5.0에서 수정되었으며 Eclipse Kepler (4.3) 및 Luna (4.4)에서 사용 가능합니다.

https://bugs.eclipse.org/bugs/show_bug.cgi?id=374332#c14를 참조 하십시오

문제는 Eclipse 및 기타 Eclipse 기반 IDE뿐만 아니라 STS (Spring IDE / Eclipse)가 m2e (clipse) 플러그인을 사용하지만 이클립스 : eclipse가 프로젝트에서 실행 되었기 때문에 발생합니다. m2e에 "var".classpath 항목이 있으면이 오류가 발생합니다.

업데이트 사이트는 다음 URL에 지정되어 있습니다.
http://eclipse.org/m2e/m2e-downloads.html

어떤 이유로 든 m2e 1.5.0을 사용할 수없는 경우 :

  1. 마우스 오른쪽 버튼 클릭 메뉴를 통해 프로젝트의 maven 특성을 비활성화하십시오.

  2. 실행하십시오 mvn eclipse:clean(프로젝트가 STS / Eclipse에서 열려 있는 동안 ). 타이밍에 따라 maven 특성을 다시 활성화하기 전에 프로젝트에서 한두 번 새로 고쳐야 할 수도 있습니다. 프로젝트가 Maven 특성을 잃어버린 것을 볼 수 있습니다. ( eclipse:clean목표는 .project, .classpath.settings/파일 / 디렉토리 만 삭제합니다 . 실행하지 않고 해당 파일 ( 프로젝트가 열려있는 동안)을 제거 할 수도 있습니다 mvn eclipse:clean.)

  3. 메이븐 자연을 다시 활성화하십시오.
    대부분의 경우 패키지 탐색기 창에서 문제의 프로젝트를 마우스 오른쪽 버튼으로 클릭 한 다음 '구성'-> 'Maven 프로젝트로 변환'을 선택하면됩니다.


3
나는 그것을 작동시키기 위해 이것을 두 번 시도해야했다. 처음 시도했을 때 "var"은 .classpath 파일로 다시 돌아 왔습니다. mvn eclipse : eclipse로 파일을 재생성하고 다시 시도했습니다. 두 번째로 효과가있었습니다.
Deepak Bala

1
그것은 모든하여 .classpath 파일에서 수동으로 제거하는 데 도움이 될 classpathentrykind에 속성 세트 var.
Puigcerber

31
그것은 나를 위해 일했지만 Maven 자연을 다시 활성화하기 전에 여분의 "새로 고침"을 수행해야했습니다 (실제로 내 경우에는면 처리 된 프로젝트이므로 "Maven 프로젝트로 구성")
Stuart Watt


2
나는 당신이 이클립스 버전을 잘못 생각합니다 : 이클립스 케플러는 4.3이고 루나는 4.4입니다
vogella

63
  1. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 Maven-> Maven Nature 제거를 선택하십시오.

  2. 터미널을 열고 프로젝트 폴더로 이동하여 mvn eclipse:clean

  3. 프로젝트를 마우스 오른쪽 버튼으로 클릭하고 "구성-> Maven 프로젝트로 변환"을 선택하십시오.

이제 "지원되지 않는 IClasspathEntry kind = 4 Eclipse Scala"가 사라졌습니다.


5
고마워 다른 사람들을위한 참고 사항은 mvn eclipse:clean아닙니다. mvn clean(주의를 기울이지 않음으로써 바보가되었습니다).
Jin Kim

확인. Kepler로 프로젝트를 가져온 후 cmd 라인에서 src / java를 만들었습니다. 그 경우였습니다.
Zbyszek

43

때로는 Maven 프로젝트를 다시 가져와도 작동하지 않을 수 있습니다. 일식에서 프로젝트를 올바르게 업데이트하는 것은 결정적인 과정이 아닙니다. 내가 찾은 유일한 100 % 안전 장치 절차는 다음과 같습니다.

  1. 메이븐 네이처 (Maven Nature)를 비활성화하고, 달리고 mvn eclipse:clean, 다시 시작하고, 손가락을 교차시키고 3 번 기도하십시오 .
  2. 그래도 문제가 해결되지 않으면 프로젝트를 삭제하고 실행 mvn eclipse:clean하고 새로 고침을 다시 가져오고기도하고 힘을 사용하십시오 .
  3. 그래도 문제가 해결되지 않으면 Eclipse를 다시 시작 하거나 컴퓨터를 개선하십시오 . 재부팅을 기다리는 동안 Karma를 수정하기 위해 무작위로 기부 할 수 있습니다. 2 단계를 반복하고 분노를기도하고 통제하는 것을 잊지 마십시오. 분노는 증오로 이어집니다. 증오는 고통으로 이어집니다.
  4. 이 글타래에 게시 된 다른 모든 답변을 시도해보십시오. 포기하기 전에 적어도 세 번 시도해야 할 수도 있습니다.
  5. 컴퓨터를 포맷 하고 Eclipse와 Maven을 다시 설치하십시오 . 더 이상기도 할 필요가 없습니다. 모든 신들은 당신을 미워합니다
  6. 자식 프로젝트를 삭제 하고 원격 저장소를 저장 한 실제 드라이브를 굽고 처음부터 프로젝트를 작성하십시오.
  7. 타임머신을 찾고 과거로 여행하며 프로그래밍이 아닌 다른 직업을 따르거나 적어도 자바를 피하도록 자신을 설득하십시오.

3
"모두 의존성 관리 문제"또는 "NullPointerException"이라고 계속 말하십시오
srirachapills

1
평온을 유지하고 다시 시작 취소 반복
yannicuLar

1
자바는 당신에게 무엇을 했습니까?
사악한 세탁기

2
@EvilWashingMachine 정말 나쁜 것은 없습니다. 그냥 타임 머신을 사용하여 정당화 할 변명을 만들어 보았습니다
yannicuLar

1
+ 터미널 조용하고 사용 정력을 유지
Pratik Singhal이에게

12
  1. 실행중인 m2e (clipse) 플러그인의 버전이 1.1.0 이상인지 확인하십시오

  2. maven 프로젝트 닫기- "프로젝트 닫기"를 마우스 오른쪽 버튼으로 클릭하십시오.

  3. .classpath 파일에서 kind = "var"를 사용하여 모든 classpathentry를 수동으로 제거하십시오.
  4. 프로젝트 열기

또는

  1. 메이븐 프로젝트 제거
  2. 수동 rmeove .classpath 4 프로젝트 다시 가져 오기

@Marco에 명시된 STS에는 오류가 없습니다. 일반적인 m2e 문제입니다. Maven 특성을 사용하지 않도록 설정하고 .classpath 파일을 삭제 한 후 Maven 특성을 다시 사용하십시오.
sbzoom

6

시도해 보셨습니까?

  1. Eclipse 4로 프로젝트를 가져 오면 삭제하십시오.
  2. 메이븐 콘솔에서 다음을 실행하십시오 : mvn eclipse : clean
  3. Eclipse 4에서 : 파일-> 가져 오기-> Maven-> 기존 Maven 프로젝트

1
이 작업을 수행하기 전에 프로젝트에서 maven eclipse plugin이 실행되지 않았는지 확인하십시오. mvn eclipse : clean은 필요한 경우 수정합니다.
AChoice

3
Juno에서 더 잘 작동했습니다. Eclipse에서 프로젝트를 삭제 한 다음 다시 가져 왔습니다.
cs94njw

Eclipse Kepler에는 영향이 없음
Zbyszek

3

다른 모든 답변보기. 나는 더 간단한 방법을 찾았다.

방금 var를 포함하는 .classpath (eclipse로 편집)의 모든 줄을 제거하고 오류없이 maven-> 업데이트 프로젝트를 사용했습니다.


이것은 나를 위해 일했으며, maven jar가 들어있는 "jar"줄을 제거해야했습니다.
dwjohnston

2

이 오류는 Clover로 코드 적용을 위해 인스트루먼트 된 프로젝트에서 update 명령을 사용하는 경우에도 발생합니다.

이 시나리오에서 해결하려면 : 업데이트하려는 프로젝트 폴더의 계측기를 해제하십시오. maven 업데이트를 실행 한 다음 코드 적용 범위를 다시 측정하십시오.


0

나는 Marco의 단계를 시도했지만 운이 없다. 대신 그가 제공하는 링크에서 최신 m2e 플러그인을 가져 와서 각 프로젝트-> Maven-> Update Dependencies를 하나씩 마우스 오른쪽 버튼으로 클릭하면 오류가 계속 발생하지만 문제는 해결됩니다. 즉, 마커보기에서 경고가 사라집니다. 일부 프로젝트를 STS (SpringSource Tool Suite)로 가져온 후이 문제가 발생했습니다. Eclipse Juno 설치로 돌아 왔을 때 경고가 표시되었습니다. m2e 1.1이 이미 설치되어 있음을 확인하면서 Marco의 단계를 시도했지만 아무 소용이 없었습니다. 그러나 최신 버전을 얻는 것이 수정되었습니다.


1
고마워, 내 답변을 편집하여 최신 버전이었던 1.1.0뿐만 아니라 최신 버전을 가져와야한다고 강조했습니다.
Marco

외부 사이트를 통해 다운로드하는 대신 Eclipse MarketPlace를 사용하면 항상 최신 버전을 얻게됩니다.
Jops

0

Kepler와 함께 작동하는 mvn eclipse : clean 등을 얻을 수 없었습니다.

그러나 나는 일식 클래스 경로에서 외부 항아리를 사용하여 변수를 만들고 확장했습니다. 이것은 내 .classpath의 var에 반영되지 않았습니다.

문제가 해결되었습니다. 메이븐 업데이트를 할 수있었습니다.


0

이 문제 ( https://bugs.eclipse.org/394042 )는 m2e 1.5.0에서 수정되었으며이 p2 저장소에서 Eclipse Kepler 및 Luna에 사용할 수 있습니다.

http://download.eclipse.org/technology/m2e/releases/1.5

m2e-wtp도 사용하는 경우 m2e-wtp 1.1.0도 설치해야합니다.

http://download.eclipse.org/m2e-wtp/releases/luna/1.1


firts 링크는 "죄송합니다. 페이지 나 파일을 찾을 수 없습니다. 다음과 같은 이유가 있습니다 ..."
Jaroslav Záruba

이유 # 1이 여기에 적용됩니다. 이것은 Eclipse Update 사이트 / p2 저장소입니다. Eclipse에서 액세스해야합니다 ( help.eclipse.org/luna/index.jsp?topic=//… 참조 ).
Fred Bricon

0

케플러에서 루나로 업그레이드하는 것이 나를 위해 일했습니다.

Java 1.8 지원을 위해 일부 구성 요소를 추가했습니다. 내가 원하는만큼 호환되지 않거나 잘못된 것을 섞은 것 같습니다. 실제로 많은 문제가 발생했습니다. 시스템을 업데이트하려고 시도하면 일부 종속성을 충족 할 수 없으므로 오류가보고되었습니다. 메이븐 업그레이드가 작동하지 않았습니다. 많은 것을 시도했습니다.

따라서 업그레이드를 피할 이유가없는 경우 유용한 소프트웨어 사이트 (Luna http://download.eclipse.org/releases/luna/ )에 luna 저장소를 추가 하고 "업데이트 확인"하면됩니다. 모든 구성 요소를 동일한 버전으로 사용하는 것이 좋으며 몇 가지 새로운 기능이 있습니다.


0

여기에 언급 된 모든 단계와 비슷한 질문에 시도했지만이 문제를 해결할 수 없었습니다. 문제를 해결하거나 m2eclipse를 업데이트 할 수 없습니다. 그래서 Eclipse Luna를 설치하고 문제를 해결했지만 작업 공간의 모든 환경을 구성하는 데 약 45 분이 걸렸습니다.


0

DOS 명령 프롬프트에서 mvn clean install eclipse : eclipse -Dwtpversion = 2.0 명령을 시도하십시오. 당신을 제안하기 때문에, 그것은 나를 위해 일했습니다!


0

M2E 1.4.x와 함께 Eclipse 4.3.2 (Kepler)를 사용하고 있으며이 문제를 여러 번 느꼈습니다!

필자의 경우 "mvn eclipse : eclipse"명령은 Checkstyle, PMD 및 Findbugs 구성도 생성하므로 "mvn eclipse : clean"은 모든 구성 파일을 다시 삭제하므로 도움이되지 않습니다.

나를위한 가장 좋은 해결책은 모든 ".classpath"파일을 삭제하는 것이 었습니다.

find . -name ".classpath" -delete

나중에 프로젝트를 일식으로 가져옵니다.


0

프로젝트를 가져 오기 전에 프로젝트를 Eclipse 프로젝트로 변환해야합니다. mvn eclipse : eclipse 그런 다음 다음 오류를 발견했습니다. "Maven 프로젝트를 가져 오는 중"내부 오류가 발생했습니다. 지원되지 않는 IClasspathEntry kind = 4

M2E가 인식하지 못하고 오류를 발생시키는 kind = "var"값은 어디에 있습니까?

이제 이것을 입력하십시오. mvn 이클립스 : 청소

이제 일식으로 프로젝트를 새로 고치거나 다시 가져옵니다.

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