2012-05-03 3 views
6

Nexus 저장소 관리자에서 호스팅되는 Apache의 Maven 저장소에서 다양한 Lucene 및 Solr Maven 아티팩트에 대비해 구축하고 있습니다. 유물은 버전 4.0-SNAPSHOT이며 매일 업데이트되며 오래된 유물은 정기적으로 삭제됩니다.Nexus 저장소 관리자에서 Maven 아티팩트 버전을 어떻게 페그합니까?

Maven 클라이언트가 solr-core 4.0-SNAPSHOT을 요청할 때마다 새로운 날짜가있는 경우에도 특정 날짜에 이슈를 페치하는 방법을 궁금합니다.

명시 적으로 최신 4.0-SNAPSHOT으로 업데이트하는 방법을 알고 싶지만 다운로드 한 모든 이전 버전은 유지하는 것이 좋습니다.

특히 "Apache Snapshots"저장소는 Nexus를 설치할 때 설정되는 기본 저장소입니다.

답변

3

스냅 샷을 리포지토리 서버에 배포 할 때마다 새로운 배포마다 실제로 반복자 번호가 추가 된 타임 스탬프 버전으로 배포됩니다. 특정 버전을 사용하려면 -SNAPSHOT 대신 스냅 샷의 타임 스탬프 버전 만 사용하면됩니다.

예. https://repository.apache.org/content/groups/snapshots/org/apache/maven/artifact/maven-artifact/3.0-alpha-2-SNAPSHOT/

당신은

<groupId>org.apache.maven.artifact</groupId> 
<artifactId>maven-artifact</artifactId> 
<version>3.0-alpha-2-SNAPSHOT</version> 

으로이 유물을 사용할 수 그것을 새 스냅 샷이 배포 될 때마다 변경됩니다하거나 동일하게 유지 것이다

<groupId>org.apache.maven.artifact</groupId> 
<artifactId>maven-artifact</artifactId> 
<version>3.0-alpha-2-20090214.020928-1</version> 

사용할 수있는보세요. 그러나 스냅 샷 저장소는 사실상 정적이지 않으며 이러한 아티팩트는 잠재적으로 완전히 사라질 수 있습니다. 제어 할 수있는 내부 리포지토리 서버를 사용하는 경우에만 스냅 샷이 사라지지 않도록하십시오.

그것을 할 수있는 또 다른 방법은 실제로 릴리스를 잘라 그것을 사용 ..

3

versions maven plugin을 사용하면 특정 버전의 SNAPSHOT에 고정시킬 수 있습니다. SNAPSHOT은 해당 저장소에서 SNAPSHOT을 사용할 수있는 경우에만 유효합니다. 하지만 저장소 관리자를 사용하고 SNAPSHOT을 로컬 저장소에 가져와 대신 사용하도록 권장합니다. 가능한 특정 스냅 샷을 가져 와서 4.0.1-INTERNAL처럼 내부 릴리스를 만들고 그걸 바탕으로 오래 사용할 수있게하는 것도 가능합니다.

+0

+1이 기능을 인식하지 되었습니까하는 것입니다. 굉장히 유용하다! –