

Amazon CodeCatalyst は新規のお客様には提供されなくなりました。既存のお客様は、通常どおりサービスを引き続き使用できます。詳細については、「[CodeCatalyst から移行する方法](migration.md)」を参照してください。

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# mvn を設定して使用する
<a name="packages-maven-mvn"></a>

Maven ビルドを実行するには、`mvn` コマンドを使用します。パッケージリポジトリを使用し、認証用の個人用アクセストークン (PAT) を提供するように `mvn` を設定する必要があります。

**Contents**
+ [CodeCatalyst から依存関係を取得する](#mvn-fetch-dependencies)
+ [CodeCatalyst を使用して外部パッケージリポジトリからパッケージを取得する](#mvn-install-public)
+ [CodeCatalyst にパッケージを公開する](#mvn-publish-packages)
+ [サードパーティーパッケージを公開する](#publishing-third-party-packages)

## CodeCatalyst から依存関係を取得する
<a name="mvn-fetch-dependencies"></a>

`mvn` を設定して CodeCatalyst リポジトリから依存関係を取得するには、Maven 設定ファイル `settings.xml` と、オプションでプロジェクトの Project Model Object (POM) を編集する必要があります。POM ファイルには、依存関係、ビルドディレクトリ、ソースディレクトリ、テストソースディレクトリ、プラグイン、目標など、Maven がプロジェクトを構築するためのプロジェクトに関する情報と設定情報が含まれています。

**`mvn` を使用して CodeCatalyst パッケージリポジトリから依存関係を取得するには**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/) で CodeCatalyst コンソールを開きます。

1. プロジェクトの概要ページで、**[パッケージ]** を選択します。

1. パッケージリポジトリのリストからパッケージリポジトリを選択します。

1. **[リポジトリに接続]** を選択します。

1. **[リポジトリに接続]** ダイアログボックスで、パッケージマネージャークライアントのリストから **[mvn]** を選択します。

1. CodeCatalyst で `mvn` を認証するには、個人用アクセストークン (PAT) が必要です。トークンが既にある場合はそれを使用できます。そうでない場合は、ここで作成できます。

   1. **[トークンを作成]** をクリックします。

   1. **[コピー]** をクリックして PAT をコピーします。
**警告**  
ダイアログボックスを閉じると、PAT を再度表示またはコピーできなくなります。

1. リポジトリを含むプロファイルを `settings.xml` ファイルに追加します。次の値を置き換えます。
**注記**  
コンソールの手順からコピーする場合は、以下の値は自動的に更新されるため、変更する必要はありません。
   + {{space\_name}} を CodeCatalyst のスペース名に置き換えます。
   + {{proj\_name}} を CodeCatalyst のプロジェクト名に置き換えます。
   + {{repo\_name}} を CodeCatalyst のパッケージリポジトリ名に置き換えます。

   ```
   <profiles>
     <profile>
       <id>{{repo_name}}</id>
       <activation>
           <activeByDefault>true</activeByDefault>
       </activation>
       <repositories>
           <repository>
             <id>{{repo_name}}</id>
             <url>https://packages.{{region}}.codecatalyst.aws/maven/{{space_name}}/{{proj_name}}/{{repo_name}}/</url>
           </repository>
       </repositories>
     </profile>
   </profiles>
   ```

1. `settings.xml` ファイル内のサーバーのリストにサーバーを追加します。次の値を置き換えます。
**注記**  
コンソールの手順からコピーする場合は、以下の値は自動的に更新されるため、変更する必要はありません。
   + {{repo\_name}} を CodeCatalyst のパッケージリポジトリ名に置き換えます。
   + {{username}} を CodeCatalyst のユーザー名に置き換えます。
   + {{PAT}} を CodeCatalyst の PAT に置き換えます。

   ```
   <servers>
     <server>
       <id>{{repo_name}}</id>
       <username>{{username}}</username>
       <password>{{PAT}}</password>
     </server>
   </servers>
   ```

1. (オプション) すべての接続をキャプチャし、ゲートウェイリポジトリではなくリポジトリにルーティングするミラーを `settings.xml` ファイルに設定します。
**注記**  
コンソールの手順からコピーする場合は、以下の値は自動的に更新されるため、変更する必要はありません。
   + {{space\_name}} を CodeCatalyst のスペース名に置き換えます。
   + {{proj\_name}} を CodeCatalyst のプロジェクト名に置き換えます。
   + {{repo\_name}} を CodeCatalyst のパッケージリポジトリ名に置き換えます。

   ```
   <mirrors>
     <mirror>
       <id>{{repo_name}}</id>
       <name>{{repo_name}}</name>
       <url>https://packages.{{region}}.codecatalyst.aws/maven/{{space_name}}/{{proj_name}}/{{repo_name}}/</url>
       <mirrorOf>*</mirrorOf>
     </mirror>
   </mirrors>
   ```

**重要**  
`<id>` 要素にある任意の値を使用できますが、`<server>` および `<repository>` 要素の両方で同じでなければなりません。これにより、指定された認証情報を CodeCatalyst へのリクエストに含めることができます。

これらの設定変更を行った後、プロジェクトを構築できます。

```
mvn compile
```

## CodeCatalyst を使用して外部パッケージリポジトリからパッケージを取得する
<a name="mvn-install-public"></a>

Maven パッケージは、CodeCatalyst リポジトリを介してパブリックリポジトリからインストールできます。これを行うには、ゲートウェイリポジトリを表すゲートウェイへのアップストリーム接続を使用してリポジトリを設定します。ゲートウェイリポジトリからインストールされたパッケージは、CodeCatalyst リポジトリに取り込まれて保存されます。

現在、CodeCatalyst は、次のパブリック Maven パッケージリポジトリをサポートしています。
+ maven-central-gateway
+ google-android-gateway
+ gradle-plugins-gateway
+ commonsware-gateway

**パブリック Maven パッケージリポジトリからパッケージをインストールするには**

1. まだ設定していない場合は、「[CodeCatalyst から依存関係を取得する](#mvn-fetch-dependencies)」の手順に従って CodeCatalyst パッケージリポジトリで `mvn` を設定します。

1. リポジトリに、インストール元のゲートウェイリポジトリがアップストリーム接続として追加されていることを確認します。どのアップストリームソースが追加されているかをチェックする、またはゲートウェイリポジトリをアップストリームソースとして追加するには、「[アップストリームリポジトリを追加する](packages-upstream-repositories-add.md)」の手順に従います。

アップストリームリポジトリからのパッケージのリクエストの詳細については、「[アップストリームリポジトリを持つパッケージバージョンのリクエスト](packages-upstream-repositories-request.md)」を参照してください。

## CodeCatalyst にパッケージを公開する
<a name="mvn-publish-packages"></a>

`mvn` で Maven パッケージを CodeCatalyst リポジトリに公開するには、`~/.m2/settings.xml` およびプロジェクト POM も編集する必要があります。

**`mvn` を使用して CodeCatalyst パッケージリポジトリにパッケージを公開するには**

1. [https://codecatalyst.aws/](https://codecatalyst.aws/) で CodeCatalyst コンソールを開きます。

1. プロジェクトの概要ページで、**[パッケージ]** を選択します。

1. パッケージリポジトリのリストからパッケージリポジトリを選択します。

1. **[リポジトリに接続]** を選択します。

1. **[リポジトリに接続]** ダイアログボックスで、パッケージマネージャークライアントのリストから **[mvn]** を選択します。

1. CodeCatalyst で `mvn` を認証するには、個人用アクセストークン (PAT) が必要です。トークンが既にある場合はそれを使用できます。そうでない場合は、ここで作成できます。

   1. **[トークンを作成]** をクリックします。

   1. **[コピー]** をクリックして PAT をコピーします。
**警告**  
ダイアログボックスを閉じると、PAT を再度表示またはコピーできなくなります。

1. PAT を使用してローカルマシンの環境変数を設定します。`setting.xml` ファイルでこの環境変数を使用します。

   ```
   export CODECATALYST_ARTIFACTS_TOKEN={{your_PAT}}
   ```

1. `CodeCatalyst_ARTIFACTS_TOKEN` 環境変数を参照して `<servers>` セクションを `settings.xml` に追加し、Maven が HTTP リクエストで トークンを渡すようにします。

   ```
   <settings>
   ...
       <servers>
           <server>
               <id>{{repo-name}}</id>
               <username>{{username}}</username>
               <password>${env.CodeCatalyst_ARTIFACTS_TOKEN}</password>
           </server>
       </servers>
   ...
   </settings>
   ```

1. `<distributionManagement>` セクションをプロジェクトの `pom.xml` に追加します。

   ```
   <project>
   ...
        <distributionManagement>
            <repository>
                <id>{{repo_name}}</id>
                <name>{{repo_name}}</name>
                <url>https://packages.{{region}}.codecatalyst.aws/maven/{{space_name}}/{{proj_name}}/{{repo_name}}/</url>
            </repository>
        </distributionManagement>
   ...
   </project>
   ```

これらの設定変更を行った後、プロジェクトを構築して指定したリポジトリに公開できます。

```
mvn deploy
```

CodeCatalyst コンソールでパッケージリポジトリに移動して、パッケージが正常に公開されたことを確認できます。

## サードパーティーパッケージを公開する
<a name="publishing-third-party-packages"></a>

`mvn deploy:deploy-file` を使用して、サードパーティー Maven パッケージを CodeCatalyst リポジトリに公開できます。これは、パッケージを公開したいが、JAR ファイルしかなく、パッケージソースコードや POM ファイルにアクセスできない場合に役に立ちます。

`mvn deploy:deploy-file` コマンド は、コマンドラインで渡された情報に基づいて POM ファイルを生成します。

まず、PAT がない場合は作成します。

**個人アクセストークン (PAT) を作成するには**

1. 上部のメニューバーでプロファイルバッジを選択し、**[My 設定]** を選択します。
**ヒント**  
ユーザープロファイルは、プロジェクトまたはスペースのメンバーページに移動し、メンバーリストから名前を選択することで見つけることができます。

1. **[PAT 名]** に、チームのわかりやすい名前を入力します。

1. **[有効期限]** では、デフォルトの日付のままにしておくか、カレンダーアイコンを選択して、カスタムの日付を選択します。有効期限のデフォルトは、現在の日付から 1 年です。

1. **[作成]** を選択します。

   このトークンは、ソースリポジトリの **[クローンリポジトリC]** を選択したときにも作成できます。

1. PAT シークレットを安全な場所に保存します。
**重要**  
PAT シークレットは 1 回だけ表示されます。ウィンドウを閉じると、再表示できなくなります。

**サードパーティーの Maven パッケージを公開するには**

1. 次のコンテンツを含む `~/.m2/settings.xml` ファイルを作成します。

   ```
   <settings>
       <servers>
           <server>
               <id>{{repo_name}}</id>
               <username>{{username}}</username>
               <password>{{PAT}}}</password>
           </server>
       </servers>
   </settings>
   ```

1. `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={{repo-name }}     \
   -Durl=https://packages.{{region}}.codecatalyst.aws/maven/{{space-name}}/{{proj-name}}/{{repo-name}}/
   ```
**注記**  
上記の例では、`commons-cli 1.4` を公開しています。groupId、artifactID、version、およびファイルの引数を変更して、別の JAR を公開します。

この手順は、*Apache Maven ドキュメント* の [サードパーティの JAR をリモートリポジトリにデプロイするためのガイド](https://maven.apache.org/guides/mini/guide-3rd-party-jars-remote.html) の例に基づいています。

 詳細については、Apache Maven プロジェクトウェブサイトの以下のトピックを参照してください。
+  [複数のリポジトリの設定](https://maven.apache.org/guides/mini/guide-multiple-repositories.html) 
+  [設定リファレンス](https://maven.apache.org/settings.html) 
+  [ディストリビューション管理](https://maven.apache.org/pom.html#Distribution_Management) 
+  [プロファイル](https://maven.apache.org/pom.html#Profiles) 