

Amazon CodeCatalyst는 더 이상 신규 고객에게 공개되지 않습니다. 기존 고객은 정상적으로 서비스를 계속 이용할 수 있습니다. 자세한 내용은 [CodeCatalyst에서 마이그레이션하는 방법](migration.md) 단원을 참조하십시오.

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# Maven 체크섬 및 스냅샷 사용
<a name="packages-maven-checksums-snapshots"></a>

다음 섹션에서는 CodeCatalyst에서 Maven 체크섬 및 Maven 스냅샷을 사용하는 방법을 설명합니다.

## Maven 체크섬 사용
<a name="maven-checksums"></a>

 Maven 패키지가 CodeCatalyst 패키지 리포지토리에 게시되면 패키지의 각 자산 또는 파일과 관련된 체크섬을 사용하여 업로드를 검증합니다. 자산의 예로는 **jar, **pom, **war 파일 등이 있습니다. 각 자산의 경우, `md5` 또는 `sha1` 같은 추가 확장자가 있는 자산 이름을 사용하는 여러 개의 체크섬 파일이 Maven 패키지에 포함되어 있습니다. 예를 들어, `my-maven-package.jar`라는 이름이 지정된 파일의 체크섬 파일은 `my-maven-package.jar.md5` 및 `my-maven-package.jar.sha1`일 수 있습니다.

 모든 Maven 패키지에는 `maven-metadata.xml` 파일도 포함되어 있습니다. 게시가 성공하려면 이 파일을 업로드해야 합니다. 패키지 파일을 업로드하는 동안 체크섬 불일치가 감지되면 게시가 중지됩니다. 이렇게 하면 `maven-metadata.xml`이 업로드되지 않을 수 있습니다. 이 경우 Maven 패키지의 상태가 `Unfinished`로 설정됩니다. 이 상태의 패키지 일부인 자산은 다운로드할 수 없습니다.

Maven 패키지를 게시할 때 체크섬 불일치가 발생하는 경우 다음 사항에 유의하세요.
+  `maven-metadata.xml`이 업로드되기 전에 체크섬 불일치가 발생하면 패키지의 상태가 `Unfinished`로 설정되지 않습니다. 패키지가 표시되지 않으며 해당 자산을 사용할 수 없습니다. 이 경우 다음 중 하나를 시도한 다음 자산을 다시 다운로드해 보세요.
  + Maven 패키지를 다시 게시하는 명령을 실행합니다. 다운로드를 하는 동안 네트워크 문제로 인해 체크섬 파일이 손상된 경우, 이러한 명령 실행이 효과적일 수 있습니다. 다시 시도하여 네트워크 문제가 해결되면 체크섬이 일치하여 다운로드가 완료됩니다.
  +  Maven 패키지를 다시 게시할 수 없는 경우 해당 패키지를 삭제한 다음 다시 게시합니다.
+  `maven-metadata.xml`이 업로드된 후 체크섬 불일치가 발생하면 패키지 상태가 `Published`로 설정됩니다. 체크섬 불일치가 있는 자산을 포함하여 패키지의 모든 자산을 사용할 수 있습니다. 자산을 다운로드하면 CodeCatalyst에서 생성한 체크섬이 함께 다운로드됩니다. 다운로드한 파일이 체크섬 불일치와 연결된 경우 다운로드한 체크섬 파일이 패키지가 게시될 때 업로드된 체크섬과 일치하지 않을 수 있습니다.

## Maven 스냅샷 사용
<a name="maven-snapshots"></a>

 Maven **스냅샷은 최신 프로덕션 브랜치 코드를 참조하는 Maven 패키지의 특수 버전입니다. 이 스냅샷은 최종 릴리스 버전보다 앞서는 개발 버전입니다. 패키지 버전에 추가된 접미사 `SNAPSHOT`으로 Maven 패키지의 스냅샷 버전을 식별할 수 있습니다. 예를 들어, 버전 `1.1`의 스냅샷은 `1.1-SNAPSHOT`입니다. 자세한 내용은 Apache Maven 프로젝트 웹사이트에서 [SNAPSHOT 버전이란 무엇입니까?](https://maven.apache.org/guides/getting-started/index.html#What_is_a_SNAPSHOT_version)를 참조하세요.

 CodeCatalyst는 Maven 스냅샷 게시 및 사용을 지원합니다. Maven 스냅샷을 CodeCatalyst 리포지토리에 게시하거나, 직접 연결된 경우 업스트림 리포지토리에 게시할 수 있습니다. 그러나 업스트림 리포지토리 중 하나와 패키지 리포지토리에서 모두 스냅샷 버전은 지원되지는 않습니다. 예를 들어, 버전이 `1.2-SNAPSHOT`인 Maven 패키지를 패키지 리포지토리에 업로드하는 경우, CodeCatalyst는 동일한 스냅샷 버전이 있는 Maven 패키지를 업스트림 리포지토리 중 하나에 업로드하는 것을 지원하지 않습니다. 이 시나리오는 예측할 수 없는 결과를 반환할 수 있습니다.

 Maven 스냅샷이 게시되면 이전 버전이 *빌드*라는 새 버전에 보존됩니다. Maven 스냅샷이 게시될 때마다 새 빌드 버전이 생성됩니다. 스냅샷의 모든 이전 버전은 빌드 버전에서 유지 관리됩니다. Maven 스냅샷이 게시되면 상태가 `Published`로 설정되고 이전 버전이 포함된 빌드의 상태가 `Unlisted`로 설정됩니다.

 스냅샷을 요청하면 상태 `Published`의 버전이 반환됩니다. 이 버전은 항상 Maven 스냅샷의 최신 버전입니다. 스냅샷의 특정 빌드를 요청할 수도 있습니다.

Maven 스냅샷의 모든 빌드 버전을 삭제하려면 CodeCatalyst 콘솔을 사용합니다.