

A Amazon não CodeCatalyst está mais aberta a novos clientes. Os clientes atuais podem continuar usando o serviço normalmente. Para obter mais informações, consulte [Como migrar do CodeCatalyst](migration.md).

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Configuração e uso de mvn
<a name="packages-maven-mvn"></a>

É possível usar o comando `mvn` para executar compilações do Maven. Você deve configurar `mvn` para usar seu repositório de pacotes e fornecer um token de acesso pessoal (PAT) para autenticação.

**Contents**
+ [Buscando dependências de CodeCatalyst](#mvn-fetch-dependencies)
+ [Buscando pacotes de repositórios de pacotes externos por meio de CodeCatalyst](#mvn-install-public)
+ [Publicando pacotes em CodeCatalyst](#mvn-publish-packages)
+ [Publicação de pacotes de terceiros](#publishing-third-party-packages)

## Buscando dependências de CodeCatalyst
<a name="mvn-fetch-dependencies"></a>

Para configurar `mvn` para buscar dependências de um CodeCatalyst repositório, você deve editar o arquivo de configuração do Maven `settings.xml` e, opcionalmente, o arquivo Project Model Object (POM) do seu projeto. O arquivo POM contém informações sobre o projeto e informações de configuração do Maven para criar o projeto, como dependências, diretório de criação, diretório de origem, diretório de origem de teste, plug-in e metas.

**Para usar `mvn` para buscar dependências do seu CodeCatalyst repositório de pacotes**

1. Abra o CodeCatalyst console em [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Na página de visão geral do projeto, selecione **Pacotes**.

1. Escolha seu repositório de pacotes na lista de repositórios de pacotes.

1. Selecione **Conectar ao repositório**.

1. Na caixa de diálogo **Conectar ao repositório**, selecione **mvn** na lista de clientes do gerenciador de pacotes.

1. Você precisará de um token de acesso pessoal (PAT) para se autenticar. `mvn` CodeCatalyst Se você já tiver um, pode usá-lo. Caso contrário, você pode criar um aqui.

   1. Selecione **Criar token**.

   1. Para copiar o PAT, selecione **Copiar**.
**Atenção**  
Você não poderá ver ou copiar seu PAT novamente depois de fechar a caixa de diálogo.

1. Adicione um perfil contendo seu repositório ao arquivo `settings.xml`. Substitua os valores a seguir.
**nota**  
Se estiver copiando as instruções do console, os valores a seguir devem ser atualizados para você e não devem ser alterados.
   + {{space\_name}}Substitua pelo nome do seu CodeCatalyst espaço.
   + {{proj\_name}}Substitua pelo nome CodeCatalyst do seu projeto.
   + {{repo\_name}}Substitua pelo nome CodeCatalyst do repositório do pacote.

   ```
   <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. Adicione seu servidor à lista de servidores no arquivo `settings.xml`. Substitua os valores a seguir.
**nota**  
Se estiver copiando as instruções do console, os valores a seguir devem ser atualizados para você e não devem ser alterados.
   + {{repo\_name}}Substitua pelo nome CodeCatalyst do repositório do pacote.
   + {{username}}Substitua CodeCatalyst pelo seu nome de usuário.
   + {{PAT}}Substitua por seu CodeCatalyst PAT.

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

1. (Opcional) Defina um espelho no arquivo `settings.xml` que capture todas as conexões e as encaminhe para seu repositório em vez de um repositório de gateway.
**nota**  
Se estiver copiando as instruções do console, os valores a seguir devem ser atualizados para você e não devem ser alterados.
   + {{space\_name}}Substitua pelo nome do seu CodeCatalyst espaço.
   + {{proj\_name}}Substitua pelo nome CodeCatalyst do seu projeto.
   + {{repo\_name}}Substitua pelo nome CodeCatalyst do repositório do pacote.

   ```
   <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>
   ```

**Importante**  
Você pode usar qualquer valor no elemento `<id>`, mas ele deve ser o mesmo nos elementos `<server>` e `<repository>`. Isso permite que as credenciais especificadas sejam incluídas nas solicitações para CodeCatalyst.

Depois de fazer essas alterações na configuração, você pode criar o projeto.

```
mvn compile
```

## Buscando pacotes de repositórios de pacotes externos por meio de CodeCatalyst
<a name="mvn-install-public"></a>

Você pode instalar pacotes Maven de repositórios públicos por meio de um CodeCatalyst repositório configurando-o com uma conexão upstream com o gateway que representa o repositório do gateway. Os pacotes instalados do repositório do gateway são ingeridos e armazenados no seu CodeCatalyst repositório.

Atualmente, CodeCatalyst oferece suporte aos seguintes repositórios públicos de pacotes Maven.
+ maven-central-gateway
+ google-android-gateway
+ gradle-plugins-gateway
+ commonsware-gateway

**Para instalar pacotes de repositórios de pacotes públicos do Maven**

1. Se você ainda não o fez, configure `mvn` com seu repositório de CodeCatalyst pacotes seguindo as etapas em[Buscando dependências de CodeCatalyst](#mvn-fetch-dependencies).

1. Certifique-se de que seu repositório tenha adicionado o repositório de gateway a partir do qual você deseja instalar como uma conexão upstream. Para verificar quais fontes upstream foram adicionadas ou para adicionar um repositório de gateway como fonte upstream, siga as instruções em [Adição de um repositório upstream](packages-upstream-repositories-add.md).

Para ter mais informações sobre como solicitar pacotes de repositórios upstream, consulte [Solicitar uma versão do pacote com repositórios upstream](packages-upstream-repositories-request.md).

## Publicando pacotes em CodeCatalyst
<a name="mvn-publish-packages"></a>

Para publicar um pacote Maven em um CodeCatalyst repositório, você também deve editar `~/.m2/settings.xml` o POM do projeto. `mvn`

**Para usar `mvn` para publicar pacotes em seu repositório de CodeCatalyst pacotes**

1. Abra o CodeCatalyst console em [https://codecatalyst.aws/](https://codecatalyst.aws/).

1. Na página de visão geral do projeto, selecione **Pacotes**.

1. Escolha seu repositório de pacotes na lista de repositórios de pacotes.

1. Selecione **Conectar ao repositório**.

1. Na caixa de diálogo **Conectar ao repositório**, selecione **mvn** na lista de clientes do gerenciador de pacotes.

1. Você precisará de um token de acesso pessoal (PAT) para se autenticar. `mvn` CodeCatalyst Se você já tiver um, pode usá-lo. Caso contrário, você pode criar um aqui.

   1. Selecione **Criar token**.

   1. Para copiar o PAT, selecione **Copiar**.
**Atenção**  
Você não poderá ver ou copiar seu PAT novamente depois de fechar a caixa de diálogo.

1. Configure uma variável de ambiente na máquina local com seu PAT. Você usará essa variável de ambiente no arquivo `setting.xml`.

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

1. Adicione uma seção `<servers>` a `settings.xml` com uma referência à variável de ambiente `CodeCatalyst_ARTIFACTS_TOKEN` para que o Maven passe o token nas solicitações HTTP.

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

1. Adicione uma seção `<distributionManagement>` ao `pom.xml` do seu projeto.

   ```
   <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>
   ```

Depois de fazer essas alterações na configuração, você pode criar o projeto e publicá-lo no repositório específico.

```
mvn deploy
```

Você pode navegar até o repositório de pacotes no CodeCatalyst console para verificar se o pacote foi publicado com sucesso.

## Publicação de pacotes de terceiros
<a name="publishing-third-party-packages"></a>

Você pode publicar pacotes Maven de terceiros em um CodeCatalyst repositório com. `mvn deploy:deploy-file` Isso pode ser útil para usuários que desejam publicar pacotes e têm somente arquivos JAR e não têm acesso ao código-fonte do pacote ou aos arquivos POM.

O comando `mvn deploy:deploy-file` gerará um arquivo POM com base nas informações passadas na linha de comando.

Primeiro, crie um PAT se você não tiver um.

**Para criar um token de acesso pessoal (PAT)**

1. Na barra de menu superior, escolha seu selo de perfil e escolha **Minhas configurações**. 
**dica**  
Você também pode encontrar seu perfil de usuário acessando a página de membros de um projeto ou espaço e escolhendo seu nome na lista de membros.

1. Em **Nome do PAT**, insira um nome descritivo para o seu PAT.

1. Em **Data de expiração**, mantenha a data padrão ou escolha o ícone do calendário para selecionar uma data personalizada. A data de vencimento é padronizada para um ano a contar da data atual.

1. Escolha **Criar**.

   Você também pode criar esse token ao escolher **Clonar repositório** para um repositório de origem.

1. Salve o segredo do PAT em um local seguro. 
**Importante**  
O segredo do PAT só é exibido uma vez. Não é possível recuperá-lo depois de fechar a janela. 

**Publicação de pacotes do Maven de terceiros**

1. Crie um arquivo `~/.m2/settings.xml` com o seguinte conteúdo:

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

1. Execute o comando `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}}/
   ```
**nota**  
O exemplo anterior publica `commons-cli 1.4`. Modifique os argumentos groupID, artifactID, version e file para publicar um JAR diferente.

Essas instruções são baseadas em exemplos no [Guia para implantação de terceiros JARs em repositórios remotos](https://maven.apache.org/guides/mini/guide-3rd-party-jars-remote.html) da documentação do *Apache* Maven. 

 Para ter mais informações, consulte esses tópicos no site do Apache Maven Project:
+  [Configurar vários repositórios](https://maven.apache.org/guides/mini/guide-multiple-repositories.html) 
+  [Referência de configurações](https://maven.apache.org/settings.html) 
+  [Gerenciamento de distribuição](https://maven.apache.org/pom.html#Distribution_Management) 
+  [Perfis](https://maven.apache.org/pom.html#Profiles) 