2017-01-05 1 views
1

Apache Snapshot 또는 Sonatype Snapshot 저장소에 포함 된 일부 오픈 소스 아티팩트에 대한 사용자 정의 스냅 샷 릴리스가 필요한 경우가 종종 있습니다. 좋은 방법은 내 개인 Nexus 저장소에 맞춤 설정된 이슈를 배포하는 것입니다.프록시 저장소를 통해 공개 스냅 샷 이슈를 덮어 씁니다.

공용 저장소에 최신 스냅 샷이 있는지 여부에 관계없이 항상 사용자 정의 된 이슈가 Maven에서 가져 오도록하려면 어떻게해야합니까? 즉, 일치하는 항목이있을 때 항상 호스팅 된 스냅 샷 저장소에서 이슈를 가져오고 그렇지 않은 경우 공용 항목을 사용합니다.

+0

왜 스냅 샷을 사용해야합니까? 왜 출시 된 버전을 사용하지 않습니까? – khmarbaise

+0

대부분의 경우 릴리스가 발생하지 않았지만 스냅 샷에 이미 중요한 버그 수정이나 새로운 기능이 포함되어 있습니다. 공개 스냅 샷 출시를 기다리는 데 너무 오래 걸리는 경우가 있습니다. –

답변

2

이슈를 "패치"한 경우 Maven 좌표 (그룹, 이슈, 버전)를 재사용하지 마십시오.

다른 이슈 이름 (commons-io-patched과 같은 것)을 사용하거나 버전 번호에 이와 같은 것을 추가하십시오. 그러면 공인 것과 이물을 쉽게 구별 할 수 있습니다.

버전 번호를 1.0.0-SNAPSHOT에서 1.0.0- 패치 SNAPSHOT으로 변경하면 Maven 종속성 중재가 진행될 수 있습니다. 즉, 패치 된 아티팩트와 공식 아티팩트를 동시에 사용하는 경우 (어쩌면 일시적으로) 그 중 하나만이 빌드에 포함됩니다 (아마도 원하는 것일 것입니다).

+0

이 솔루션은 공식 스냅 샷 아티팩트와 사용자 정의 된 아티팩트간에 고유성을 보장하기 때문에 나에게 들리 네요. 감사! –