"mvn install"명령을 실행하면 maven은 이미 다운로드 한 종속성을 다운로드하려고 시도합니다. 그것은 SNAPSHOT에 대한 것이지만 다른 JAR에 대해서는 왜 그렇게합니까?Maven 2가 이미 가지고있는 종속성을 다운로드하려고하는 이유는 무엇입니까?
"-o"플래그로 해당 동작을 피할 수 있지만 그 원인이 무엇인지 궁금합니다.
"mvn install"명령을 실행하면 maven은 이미 다운로드 한 종속성을 다운로드하려고 시도합니다. 그것은 SNAPSHOT에 대한 것이지만 다른 JAR에 대해서는 왜 그렇게합니까?Maven 2가 이미 가지고있는 종속성을 다운로드하려고하는 이유는 무엇입니까?
"-o"플래그로 해당 동작을 피할 수 있지만 그 원인이 무엇인지 궁금합니다.
특정 버전 번호가없는 종속성을 찾습니다. 메이븐은 주기적으로이 유물의 최신 버전을 가지고 있는지 확인합니다.
이것은 아마도 사용자가 보는 것과 다르지만 이전에는 로컬 저장소에 아티팩트를 수동으로 설치해야했고 -Dgenerate.pom = true 옵션을 포함하는 것을 잊어 버린 경우에는 해당 아티팩트 및 Maven에 대한 저장소는 모든 빌드에서 해당 POM을 다운로드하려고 중앙 (및 사용자가 구성한 다른 원격 저장소)으로 이동합니다.
Maven 2.0.x에서 주요 버그가 발생했습니다. 오프라인 모드에서 maven은 여전히 최신 스냅 샷을 다운로드하려고 시도하며 스냅 샷 레포를 찾을 수 없으면 빌드를 실패합니다. 이 문제가 클라이언트와 함께 사이트에서 발생하고 약간의 변경 만하면됩니다 (그러나 나는 빗나간 다). 여기 http://jira.codehaus.org/browse/MNG-2433 를 해결입니다 :
는 여기에 버그 -o 플래그는 여전히 나를 위해 작동하지 않는 http://mail-archives.apache.org/mod_mbox/maven-users/200601.mbox/%[email protected]%3E
이것은 2.0.10에서 수정되었습니다. http://jlorenzen.blogspot.com/2009/04/better- offline-capabilities-with-maven.html –
사실 내 경험에 의하면 Maven 2.0.x는 버그가 너무 많아서 전혀 사용하지 않을 것이라고 생각했다. 그것이 2.1.x 또는 2.2.x인지 정확하게 기억하지는 못했지만 확실히 ** post 2.0 ** 버전 이었기 때문에 처음에는 Maven을 사랑하게되었습니다. – gnat
, 그러나 이것은 한 : 모두 삭제됩니다
find ~/.m2/repository -name '_maven*' | xargs rm
find ~/.m2/repository -name '*lastUpdated' | xargs rm
. 로컬 저장소의 lastUpdated 및 _maven.repositories 파일 도달 할 수없는 회사 Nexus 레포가 있었기 때문에이 문제에 부딪 혔습니다. 몇 가지 작업을해야했습니다. 이클립스의 메이븐 통합 (Maven integration)을 사용하는 것도이 작업에 기여했을 것이다.
플러그인에 대한 업데이트 일 수도 있으므로 버전을 지정하면 도움이됩니다. –
그래 ... 나는 그들이 일반적으로 "종속성"에 포함 된 것 같아요. 또한 라이프 사이클 단계가 종종 특정 플러그인에 바인딩된다는 것을 인식해야합니다. 실제로 누가 컴파일러 플러그인의 버전 번호를 지정합니까? –
종속성 _must_에 버전이 지정되어 있어야합니다. 플러그인은 그렇지 않지만, 그렇게해야합니다. 이유는 다음과 같습니다. http://www.sonatype.com/people/2008/04/maven-209-released/ –