

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á.

# Configure um projeto GraalVM Native Image que use o AWS SDK for Java 2.x
<a name="setup-project-graalvm"></a>

Com as versões 2.16.1 e posteriores, ele AWS SDK for Java 2.x fornece out-of-the-box suporte para aplicativos GraalVM Native Image. Use o arquétipo `archetype-app-quickstart` do Maven para configurar um projeto com suporte de imagem nativa integrado.

## Pré-requisitos
<a name="setup-graalvmnativeimage-prereq"></a>
+ Conclua as etapas em [Configurando o AWS SDK para Java 2.x](setup.md).
+ Instale o [GraalVM Native Image](https://www.graalvm.org/reference-manual/native-image/#install-native-image).

## Crie um projeto usando o arquétipo
<a name="setup-graalvmnativeimage-project"></a>

Para criar um projeto do Maven com suporte de imagem nativa integrado, em uma janela de terminal ou prompt de comando, use o comando a seguir.

**nota**  
Substitua `com.example.mynativeimageapp` pelo namespace do pacote completo do seu aplicativo. Substitua `mynativeimageapp` pelo nome do projeto. Esse será o nome do diretório do projeto.

```
mvn archetype:generate \
    -DarchetypeGroupId=software.amazon.awssdk \
    -DarchetypeArtifactId=archetype-app-quickstart \
    -DarchetypeVersion=2.27.21\
    -DnativeImage=true \
    -DhttpClient=apache-client \
    -Dservice=s3 \
    -DgroupId=com.example.mynativeimageapp \
    -DartifactId=mynativeimageapp \
    -DinteractiveMode=false
```

Esse comando cria um projeto Maven configurado com dependências para o AWS SDK para Java Amazon S3, e o cliente `ApacheHttpClient` HTTP. Ele também inclui uma dependência para o [plug-in GraalVM Native Image do Maven](https://graalvm.github.io/native-build-tools/latest/index.html), para que você possa criar imagens nativas usando o Maven.

Para incluir dependências de um serviço diferente Amazon Web Services, defina o valor do `-Dservice` parâmetro como o ID do artefato desse serviço. Os exemplos incluem `dynamodb`, `comprehend` e `pinpoint`. Para obter uma lista completa dos artefatos IDs, consulte a lista de dependências gerenciadas para [software.amazon.awssdk](https://mvnrepository.com/artifact/software.amazon.awssdk/bom/latest) no Maven Central.

Para usar um cliente HTTP assíncrono, defina o parâmetro `-DhttpClient` como `netty-nio-client`. Para usar `UrlConnectionHttpClient` como cliente HTTP síncrono em vez de `apache-client`, defina o parâmetro `-DhttpClient` como `url-connection-client`.

## Crie uma imagem nativa
<a name="build-graalvmnativeimage-project"></a>

Depois de criar o projeto, execute o comando seguinte no diretório do projeto, por exemplo, `mynativeimageapp`:

```
mvn package -P native-image
```

Isso cria um aplicativo de imagem nativa no diretório `target`, por exemplo, `target/mynativeimageapp`.