Programing

컴파일러 오류 "필수 라이브러리에 대한 아카이브를 읽을 수 없습니다"-Spring Tool Suite

lottogame 2020. 10. 27. 07:49
반응형

컴파일러 오류 "필수 라이브러리에 대한 아카이브를 읽을 수 없습니다"-Spring Tool Suite


개발 환경을 구성하기 시작했으며 m2E 1.01과 함께 Spring Tool Suite 2.8.1을 사용하고 있습니다.

내가 알 수있는 한, 이것은 Maven 프로젝트 (내 첫 번째)이기 때문에 내 Maven POM은 내 프로젝트 빌드 구성 및 종속성을 지시합니다 (m2E 스마트와 함께).

내가 알고 싶은 것은 내 .m2에서 jar를 볼 수있을 때 " 라이브러리 라이브러리 / 경로 /somejar.jar에 필요한 아카이브를 읽을 수 없거나 유효한 zip 파일이 아닙니다 "라는 Java 빌드 문제를 IDE에 표시하는 이유입니다. 저장소?

commons-logging : 1.1.1과 관련된 모든 오류는 부모 pom에서 제외했습니다. 이것은 spring-context-support : 3.0.5를 통한 일시적 의존성이었습니다. 내 빌드에서 해당 라이브러리를 제외했으며 이제 오류는 spring-context-support 라이브러리와 관련이 있습니다.

설명을 위해 스크린 샷을 첨부했습니다.

마커


실제로 IDE는 종종 로컬 저장소를 캐시합니다 (Eclipse는 비슷한 작업을 수행하므로 Eclipse를 다시 시작해야합니다).

추악한 maven 동작 중 하나는 실제로 설치하기 전에 종속성을 선언하면 maven이 누락 된 종속성 (메타 데이터가 있지만 jar가없는 폴더)의 빈 버전을 만들고 수동으로 .m2 저장소를 정리해야한다는 것입니다. .

셋째, 설치된 아카이브 (jar ...)가 손상 될 수 있으므로 아카이브 도구 (7zip ...)로 열어서 테스트하고 아카이브가 손상된 경우 전체 폴더를 삭제하십시오.


제 경우에는 .m2\repository폴더의 모든 파일을 수동으로 삭제 한 다음 명령 프롬프트를 열고 mvn -install프로젝트 디렉토리에서 명령을 실행해야 했습니다.


Eclipse를 IDE로 사용하고 있었고 동일한 오류가 발생했습니다. Project-> Maven-> Update Project를해야했습니다. "오프라인"esp를 제외하고 아래의 모든 확인란을 선택합니다. "스냅 샷 / 릴리스 강제 업데이트"를 선택하고 확인을 클릭합니다. 프로젝트를 위해 클린 빌드를 다시했습니다.


로컬 .m2 저장소에서 손상된 파일을 삭제 하고 Eclipse / STS의 Ctrl+ F5(Maven 프로젝트 업데이트)를 삭제합니다 . 이러한 파일을 다운로드하고 설치합니다.


이것은 나를 위해 일했습니다.

  1. Eclipse 닫기
  2. ./m2/repository 삭제
  3. Eclipse를 열면 모든 항아리가 자동으로 다운로드됩니다.
  4. 그래도 문제가 지속되면 프로젝트> Maven> 프로젝트 업데이트 ...> 'Force Update of Snapshots / Releases'확인을 마우스 오른쪽 버튼으로 클릭하십시오.

Google 직원 :

제 경우에는 Eclipse를 둘러 보는 동안 실수로 빌드 경로에 Java 클래스를 수동으로 추가했습니다 . 'Configure Build Path ...> 라이브러리를 살펴봄으로써 범인 클래스를 제거했고 이제

  • JRE 시스템 라이브러리
  • Maven 종속성

불평하는 것은 없습니다.


아래 단계에서 문제가 해결되었습니다.

  1. ./m2/repository 폴더로 이동합니다.

  2. 각 아카이브 오류 폴더로 이동합니다.

  3. zip 파일이 있는지 확인하십시오.

  4. 오류 이름 폴더를 삭제하십시오.

  5. 이제 Eclipse Project-Right Click-Maven-> Update Project로 오십시오.

위의 트릭은 나를 위해 작동합니다.


제 경우에는 제안 된 모든 팁을 시도했지만 오류가 남아 있습니다. 나는 최신 버전으로 변경하고 pom.xml에 작성하는 것을 해결했습니다. 이 후 모든 것이 이제 괜찮습니다.


로컬 Maven 저장소를 삭제했습니다. 그런 다음 프로젝트-> Maven-> 프로젝트 업데이트 ...를 마우스 오른쪽 단추로 클릭하십시오. 관련된 모든 프로젝트를 선택하고 확인을 클릭하십시오.


빌드 경로에서 Maven 종속성 제거


나는이 문제에 직면했다. "Archive for required library spring-boot-devtools cannot be read or is not a valid ZIP file"과 해결책은 다음과 같았습니다. 1- 문제가있는 종속성 이름을 확인합니다 (스프링 부팅 일 수 있음). devtools). 2- 일식을 닫습니다. 3- .m2 파일에서 이러한 종속성 (이름 별)을 검색합니다. 4-이 폴더를 삭제하십시오. 5- 이클립스를 다시 열고 maven이 종속성을 다시 빌드하도록하십시오.


좋아, 나는 맥에서 STS와 동일한 문제가 있었고 저장소 폴더의 모든 파일을 삭제하고 STS IDE에서 프로젝트를 클릭 한 다음 Maven-> 프로젝트 업데이트를 클릭하여 해결했습니다. 모든 종속성을 다운로드하는 데 몇 분 정도 걸리면 문제가 해결됩니다.


나는 같은 문제에 직면한다. 로컬 저장소를 삭제하고 ID를 다시 시작했습니다. 잘 작동했습니다.


Indigo SR2에서이 문제가 발생했습니다. 클래스 경로 (빌드 경로)에서 불필요한 jar를 제거한 후 나타납니다. Eclipse를 다시 시작해도 도움이되지 않았습니다. 항아리를 빌드 경로에 다시 추가했습니다 ... 오류가 사라졌습니다. 다시 한 번 항아리를 꺼 냈고 이번에는 또 다른 불만에서 벗어날 수있었습니다.


위의 솔루션 중 어느 것도 내 문제에 도움이되지 않았습니다. {projectworkspace} /. metadata 폴더와 {location} /. m2 폴더의 모든 파일을 삭제하여 문제를 해결하고 eclipse가 모든 것을 다시 다운로드하도록했습니다. 이것이 누군가에게 도움이되기를 바랍니다.


"필수 라이브러리의 아카이브를 읽을 수 없습니다."라는 오류가 발생하면 프로젝트의 빌드 경로에서 해당 JAR을 제거한 다음 "외부 Jar 추가"를 사용하여 다시 추가 (탐색)하여 문제를 해결했습니다. 같은 폴더에). "Add Jars"버튼을 사용하면 작동하지 않으며 오류가 계속 발생합니다. 그러나 "Add External Jars"를 사용하면 효과가있었습니다.


웹 앱 라이브러리에 spring-licence.txt 파일을 추가했기 때문일 수 있습니다.

비슷한 문제가 있었고 해당 텍스트 파일을 제거한 후 해결되었습니다. 라이브러리에서는 jar 파일 만 예상합니다.


나는 내 프로젝트에서 같은 문제에 직면했다.

내 프로젝트에서이 아카이브를 찾을 수 없습니다.-

C:\Users\rakeshnarang\.m2\repository\org\hibernate\hibernate-core\5.3.7.Final

이 디렉토리로 이동하여이 폴더를 삭제했습니다.

Eclipse로 돌아가서 ALT + F5를 눌러 프로젝트를 업데이트했습니다.

jar 파일이 다시 다운로드되었고 문제가 해결되었습니다.

당신은 이것을 시도해야합니다.


또는 아래 명령도 저에게 효과적이었습니다.

mvn -s settings.xml eclipse:clean
mvn -s settings.xml eclipse:eclipse

참고 URL : https://stackoverflow.com/questions/8857985/compiler-error-archive-for-required-library-could-not-be-read-spring-tool-su

반응형