쿠키 기본 설정 선택

당사는 사이트와 서비스를 제공하는 데 필요한 필수 쿠키 및 유사한 도구를 사용합니다. 고객이 사이트를 어떻게 사용하는지 파악하고 개선할 수 있도록 성능 쿠키를 사용해 익명의 통계를 수집합니다. 필수 쿠키는 비활성화할 수 없지만 '사용자 지정' 또는 ‘거부’를 클릭하여 성능 쿠키를 거부할 수 있습니다.

사용자가 동의하는 경우 AWS와 승인된 제3자도 쿠키를 사용하여 유용한 사이트 기능을 제공하고, 사용자의 기본 설정을 기억하고, 관련 광고를 비롯한 관련 콘텐츠를 표시합니다. 필수가 아닌 모든 쿠키를 수락하거나 거부하려면 ‘수락’ 또는 ‘거부’를 클릭하세요. 더 자세한 내용을 선택하려면 ‘사용자 정의’를 클릭하세요.

mvn과 함께 CodeArtifact 사용

포커스 모드
mvn과 함께 CodeArtifact 사용 - CodeArtifact

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

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

mvn 명령을 사용하여 Maven 빌드를 실행합니다. 이 섹션에서는 CodeArtifact 리포지토리를 사용하도록 mvn을 구성하는 방법에 대해 설명합니다.

종속성 가져오기

CodeArtifact 리포지토리에서 종속성을 가져오도록 mvn을 구성하려면 Maven 구성 파일, settings.xml 및 프로젝트의 POM(선택 사항)을 편집해야 합니다.

  1. 아직 생성 및 저장을 하지 않았다면 CodeArtifact 리포지토리에 대한 인증을 설정하기 위해 환경 변수를 사용하여 인증 토큰 전달에 설명된 대로 환경 변수에 CodeArtifact 인증 토큰을 만들고 저장하십시오.

  2. Maven이 HTTP 요청에서 토큰을 전달하도록 settings.xml(대체로 ~/.m2/settings.xml에서 볼 수 있음)에서 CODEARTIFACT_AUTH_TOKEN 환경 변수에 대한 참조가 있는 <servers> 섹션을 추가합니다.

    <settings> ... <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> ... </settings>
  3. <repository> 요소에서 CodeArtifact 리포지토리의 URL 엔드포인트를 추가합니다. settings.xml 또는 프로젝트의 POM 파일에서 이 작업을 수행할 수 있습니다.

    get-repository-endpoint AWS CLI 명령을 사용하여 리포지토리의 엔드포인트를 검색할 수 있습니다.

    예를 들어 my_domain이라는 도메인 내에 my_repo라는 리포지토리가 있는 경우, 명령은 다음과 같습니다.

    aws codeartifact get-repository-endpoint --domain my_domain --repository my_repo --format maven

    get-repository-endpoint 명령은 리포지토리 엔드포인트를 반환합니다.

    url 'https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/'
    참고

    듀얼 스택 엔드포인트를 사용하려면 codeartifact.region.on.aws 엔드포인트를 사용합니다.

    리포지토리 엔드포인트를 다음과 같이 settings.xml에 추가합니다.

    <settings> ... <profiles> <profile> <id>default</id> <repositories> <repository> <id>codeartifact</id> <url>https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/</url> </repository> </repositories> </profile> </profiles> <activeProfiles> <activeProfile>default</activeProfile> </activeProfiles> ... </settings>

    또는 <repositories> 섹션을 프로젝트 POM 파일에 추가하여 해당 프로젝트에만 CodeArtifact를 사용할 수 있습니다.

    <project> ... <repositories> <repository> <id>codeartifact</id> <name>codeartifact</name> <url>https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/</url> </repository> </repositories> ... </project>
중요

<id> 요소에서 어떤 값이든 사용할 수 있지만 그 값은 <server><repository> 요소에서 모두 동일해야 합니다. 이렇게 하면 지정된 보안 인증을 CodeArtifact에 대한 요청에 포함할 수 있습니다.

이러한 구성을 변경한 후 프로젝트를 빌드할 수 있습니다.

mvn compile

Maven은 콘솔에 다운로드한 모든 종속성의 전체 URL을 기록합니다.

[INFO] ------------------< com.example.example:myapp >------------------- [INFO] Building myapp 1.0 [INFO] --------------------------------[ jar ]--------------------------------- Downloading from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/commons-cli/commons-cli/1.4/commons-cli-1.4.pom Downloaded from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/commons-cli/commons-cli/1.4/commons-cli-1.4.pom (11 kB at 3.9 kB/s) Downloading from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/org/apache/commons/commons-parent/42/commons-parent-42.pom Downloading from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/org/apache/commons/commons-parent/42/commons-parent-42.pom Downloaded from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/org/apache/commons/commons-parent/42/commons-parent-42.pom (68 kB at 123 kB/s) Downloading from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/commons-cli/commons-cli/1.4/commons-cli-1.4.jar Downloaded from codeartifact: https://<domain>.d.codeartifact.us-west-2.amazonaws.com/maven/myrepo/commons-cli/commons-cli/1.4/commons-cli-1.4.jar (54 kB at 134 kB/s)

아티팩트 게시

mvn과 함께 Maven 아티팩트를 CodeArtifact 리포지토리에 게시하려면 ~/.m2/settings.xml 및 프로젝트 POM도 편집해야 합니다.

  1. 아직 생성 및 저장을 하지 않았다면 CodeArtifact 리포지토리에 대한 인증을 설정하기 위해 환경 변수를 사용하여 인증 토큰 전달에 설명된 대로 환경 변수에 CodeArtifact 인증 토큰을 만들고 저장하십시오.

  2. Maven이 HTTP 요청에서 토큰을 전달하도록 <servers> 섹션을 CODEARTIFACT_AUTH_TOKEN 환경 변수에 대한 참조가 있는 settings.xml에 추가합니다.

    <settings> ... <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> ... </settings>
  3. 프로젝트의 pom.xml<distributionManagement> 섹션을 추가합니다.

    <project> ... <distributionManagement> <repository> <id>codeartifact</id> <name>codeartifact</name> <url>https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/</url> </repository> </distributionManagement> ... </project>

이러한 구성을 변경한 후 프로젝트를 빌드하여 지정된 리포지토리에 게시할 수 있습니다.

mvn deploy

list-package-versions를 사용하여 패키지가 성공적으로 게시되었는지 확인합니다.

aws codeartifact list-package-versions --domain my_domain --domain-owner 111122223333 --repository my_repo --format maven \ --namespace com.company.framework --package my-package-name

샘플 출력:

{ "defaultDisplayVersion": null, "format": "maven", "namespace": "com.company.framework", "package": "my-package-name", "versions": [ { "version": "1.0", "revision": "REVISION-SAMPLE-1-C7F4S5E9B772FC", "status": "Published" } ] }

타사 아티팩트 게시

mvn deploy:deploy-file을 사용하여 타사 Maven 아티팩트를 CodeArtifact 리포지토리에 게시할 수 있습니다. 이는 JAR 파일만 가지고 있고 패키지 소스 코드나 POM 파일에는 액세스할 수 없는 사용자가 아티팩트를 게시하려고 할 때 도움이 될 수 있습니다.

mvn deploy:deploy-file 명령을 실행하면 명령줄에 전달된 정보를 기반으로 POM 파일이 생성됩니다.

타사 Maven 아티팩트 게시
  1. 아직 생성 및 저장을 하지 않았다면 CodeArtifact 리포지토리에 대한 인증을 설정하기 위해 환경 변수를 사용하여 인증 토큰 전달에 설명된 대로 환경 변수에 CodeArtifact 인증 토큰을 만들고 저장하십시오.

  2. 다음 콘텐츠가 포함된 ~/.m2/settings.xml 파일을 생성합니다.

    <settings> <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> </settings>
  3. mvn deploy:deploy-file 명령을 실행합니다.

    mvn deploy:deploy-file -DgroupId=commons-cli \ -DartifactId=commons-cli \ -Dversion=1.4 \ -Dfile=./commons-cli-1.4.jar \ -Dpackaging=jar \ -DrepositoryId=codeartifact \ -Durl=https://my_domain-111122223333.d.codeartifact.region.amazonaws.com/maven/repo-name/
    참고

    위 예시는 commons-cli 1.4를 게시합니다. groupId, artifactID, 버전 및 파일 인수를 수정하여 다른 JAR을 게시합니다.

이 지침은 Apache Maven 설명서의 타사 JAR을 원격 리포지토리에 배포하기 위한 가이드의 예제를 기반으로 합니다.

CodeArtifact 리포지토리에서만 Maven 종속성을 다운로드

구성된 리포지토리에서 패키지를 가져올 수 없는 경우, 기본적으로 mvn 명령을 실행하면 Maven Central에서 패키지를 가져옵니다. mvn이 CodeArtifact 리포지토리를 항상 사용할 수 있도록 mirrors 요소를 settings.xml에 추가합니다.

<settings> ... <mirrors> <mirror> <id>central-mirror</id> <name>CodeArtifact Maven Central mirror</name> <url>https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/</url> <mirrorOf>central</mirrorOf> </mirror> </mirrors> ... </settings>

mirrors 요소를 추가하는 경우 settings.xml 또는 pom.xml에도 pluginRepository 요소가 있어야 합니다. 다음 예제는 CodeArtifact 리포지토리에서 애플리케이션 종속성과 Maven 플러그인을 가져옵니다.

<settings> ... <profiles> <profile> <pluginRepositories> <pluginRepository> <id>codeartifact</id> <name>CodeArtifact Plugins</name> <url>https://my_domain-111122223333.d.codeartifact.us-west-2.amazonaws.com/maven/my_repo/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> </profile> </profiles> ... </settings>

다음 예제는 CodeArtifact 리포지토리에서 애플리케이션 종속성을 가져오며 Maven Central에서 Maven 플러그인을 가져옵니다.

<profiles> <profile> <id>default</id> ... <pluginRepositories> <pluginRepository> <id>central-plugins</id> <name>Central Plugins</name> <url>https://repo.maven.apache.org/maven2/</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </pluginRepository> </pluginRepositories> .... </profile> </profiles>

Apache Maven 프로젝트 정보

Maven에 관한 자세한 내용은 Apache Maven Project 웹 사이트에서 다음 주제를 참조하세요.

프라이버시사이트 이용 약관쿠키 기본 설정
© 2025, Amazon Web Services, Inc. 또는 계열사. All rights reserved.