[eclipse] Maven 다운로드에는 확장자로 .lastUpdated가 있습니다.

m2eclipse 및 파괴적인 Eclipse 설정이 있습니다. svn에서 maven2 프로젝트를 가져 왔습니다. 그러나 전체 아티팩트가 누락되었다는 오류 메시지가 표시됩니다 (예 : Missing artifact org.springframework : spring-test : jar : 3.0.1.RELEASE : test).

내 저장소를 보면 거기에 jar 파일이 있지만 추가 확장자 .lastUpdated가 있습니다. Maven이 .lastUpdated를 jar에 추가하는 이유는 무엇입니까? 그리고 더 중요한 것은이 문제를 어떻게 해결할 수 있습니까?

내 POM에 lastUpdated 유형에 대한 언급이 없습니다.



답변

이 파일은 Maven에 다운로드로 아카이브를 얻으려고 시도했지만 실패했음을 나타냅니다. 대역폭을 절약하기 위해 파일에 인코딩 된 특정 시간이 경과 할 때까지 다시 시도하지 않습니다. 명령 줄 스위치 -U는 maven이 재시도 기간 전에 업데이트를 수행하도록합니다. 네트워크 연결이 끊긴 상태에서 빌드를 시도한 경우 필요할 수 있습니다.

파일을 제거하는 방법은 대부분의 maven 버전에서 작동하지만 파일은 maven에 대한 내부 메모이므로이 방법을 권장하지 않습니다. 이 정보가 다른 곳에서 참조되거나 보관되지 않는다는 보장은 없으며 이러한 조작으로 인해 시스템이 손상 될 수 있습니다.


답변

으로 rperez가 말했다, 나는 모든 삭제하는 데 사용하는 .lastUpdated파일. Linux에서는 간단하게 유지 하기 위해 약간의 스크립트를 만들었습니다 .

find -name \*.lastUpdated -exec rm -fv {} +

이전 콘텐츠로 파일을 만들고 로컬 Maven 저장소에 저장하기 만하면됩니다. 일반적으로 ~/.m2/repository.


답변

Maven2를 설치하고 명령 줄에서 mvn compile을 실행했습니다. 문제가 해결 된 것 같습니다.


답변

이 문제가 발생하고 Nexus를 사용중인 경우 잘못된 라우팅 규칙이 정의 된 경우 일 수 있습니다. 나는 이것을 직접 쳤고 다운로드하는 파일은 올바른 URL에서 올바르게 이름이 지정되었지만 모두 .lastUpdated확장자와 오류 메시지가 내용으로 표시되었습니다.


답변

저장소에서 검색 할 일부 아티팩트에 문제가있을 수 있습니다. 예를 들어 스프링 프레임 워크에는 자체 저장소가 있습니다. 이 xtension은 아티팩트를 완전히 다운로드 할 수 없을 때 추가됩니다. 스프링 프레임 워크 저장소를 pom 또는 settings.xml에 추가하고 깨진 항아리가 포함 된 폴더를 삭제 한 다음 다시 시작하십시오.


답변

터미널을 열고 Eclipse의 프로젝트 디렉토리로 이동하여 다음을 실행하십시오.

mvn install

경우 mvn install의존성을 업데이트하지 않습니다 다음 강제 업데이트에 스위치를 호출 :

mvn install -U

이것은 “.lastUpdated”를 삭제할 때 maven 파일을 조작하는 것에 비해 훨씬 안전한 접근 방식입니다.


답변

.m2 / repository dir 내에서이 명령을 사용하여 모든 파일의 이름을 바꿉니다.

for file in `find . -iname *.lastUpdated`; do renamed=$(echo $file | rev | cut -c13- | rev); echo renaming: $file to $renamed; mv $file $renamed; done

이것은 모든 소스를 다시 다운로드하지 않는 데 유용합니다.

작동하지 않습니다 … .jar이 손실되었습니다. 🙁