翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Maven ビルドを実行するには、mvn
コマンドを使用してください。このセクションでは、CodeArtifact リポジトリを使用して mvn
を設定する方法を示します。
トピック
依存関係の取得
mvn
を設定して CodeArtifact リポジトリから依存関係を取得するには、Maven 設定ファイル settings.xml
、オプションで、プロジェクトの POM を編集する必要があります。。
まだ行っていない場合は、CodeArtifact リポジトリへの認証を設定する「環境変数を使用して認証トークンを渡す」の説明に従って、CodeArtifact 認証トークンを作成して環境変数に保存します。
-
settings.xml
(通常、~/.m2/settings.xml
の場所にあります。) で、CODEARTIFACT_AUTH_TOKEN
環境変数を参照して<servers>
セクションを追加し、HTTP リクエストで Maven が トークンを渡すようにします。<settings> ... <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> ... </settings>
-
<repository>
要素にある CodeArtifact リポジトリの URL エンドポイントを追加します。これは、settings.xml
またはプロジェクトの POM ファイルで行えます。リポジトリのエンドポイントは、
get-repository-endpoint
AWS CLI コマンドを使用して取得できます。例えば、
my_domain
という名前のドメイン内の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.awssettings.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 を編集する必要もあります。
まだ行っていない場合は、CodeArtifact リポジトリへの認証を設定する「環境変数を使用して認証トークンを渡す」の説明に従って、CodeArtifact 認証トークンを作成して環境変数に保存します。
-
CODEARTIFACT_AUTH_TOKEN
環境変数を参照して<servers>
セクションをsettings.xml
に追加し、Maven が HTTP リクエストで トークンを渡すようにします。<settings> ... <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> ... </settings>
-
<distributionManagement>
セクションをプロジェクトのpom.xml
に追加します。<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-owner111122223333
--repositorymy_repo
--formatmaven
\ --namespacecom.company.framework
--packagemy-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 アーティファクトを公開する
まだ行っていない場合は、CodeArtifact リポジトリへの認証を設定する「環境変数を使用して認証トークンを渡す」の説明に従って、CodeArtifact 認証トークンを作成して環境変数に保存します。
-
次のコンテンツを含む
~/.m2/settings.xml
ファイルを作成します。<settings> <servers> <server> <id>codeartifact</id> <username>aws</username> <password>${env.CODEARTIFACT_AUTH_TOKEN}</password> </server> </servers> </settings>
-
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、version、およびファイルの引数を変更して、別の JAR を公開します。
この手順は、Apache Maven ドキュメント の サードパーティの JAR をリモートリポジトリにデプロイするためのガイド
CodeArtifact リポジトリへの Maven 依存関係のダウンロードを制限する
設定されたリポジトリからパッケージを取得できない場合、デフォルトでmvn
コマンドでMaven Centralからパッケージを取得します。mirrors
要素をsettings.xml
に追加して、mvn
が常に CodeArtifact リポジトリを使用するようにします。
<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 プロジェクトウェブサイトの以下のトピックを参照してください。