

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

# Configura un progetto GraalVM Native Image che utilizza AWS SDK for Java 2.x
<a name="setup-project-graalvm"></a>

Con le versioni 2.16.1 e successive, AWS SDK for Java 2.x fornisce out-of-the-box supporto per le applicazioni GraalVM Native Image. Usa l'archetipo `archetype-app-quickstart` Maven per configurare un progetto con supporto di immagini nativo integrato.

## Prerequisiti
<a name="setup-graalvmnativeimage-prereq"></a>
+ Completa i passaggi descritti in [Configurazione](setup.md) del 2.x. AWS SDK per Java 
+ Installa [GraalVM Native Image](https://www.graalvm.org/reference-manual/native-image/#install-native-image).

## Crea un progetto usando l'archetipo
<a name="setup-graalvmnativeimage-project"></a>

Per creare un progetto Maven con supporto per immagini native integrato, in un terminale o in una finestra del prompt dei comandi, usa il seguente comando.

**Nota**  
`com.example.mynativeimageapp`Sostituiscilo con lo spazio dei nomi completo del pacchetto dell'applicazione. Sostituiscilo anche `mynativeimageapp` con il nome del tuo progetto. Questo sarà il nome della directory per il progetto.

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

Questo comando crea un progetto Maven configurato con dipendenze per AWS SDK per Java Amazon S3, e il `ApacheHttpClient` client HTTP. Include anche una dipendenza per il [plug-in GraalVM Native Image Maven, in modo da poter creare immagini native utilizzando Maven](https://graalvm.github.io/native-build-tools/latest/index.html).

Per includere le dipendenze per un altro servizio Amazon Web Services, imposta il valore del parametro sull'ID dell'artefatto di quel servizio. `-Dservice` Esempi includono `dynamodb`, `comprehend` e `pinpoint`. [Per un elenco completo degli elementi IDs, consulta l'elenco delle dipendenze gestite per software.amazon.awssdk su Maven Central.](https://mvnrepository.com/artifact/software.amazon.awssdk/bom/latest)

Per utilizzare un client HTTP `-DhttpClient` `netty-nio-client` asincrono, imposta il parametro su. Per utilizzarlo invece `UrlConnectionHttpClient` come client HTTP sincrono`apache-client`, imposta il parametro su. `-DhttpClient` `url-connection-client`

## Crea un'immagine nativa
<a name="build-graalvmnativeimage-project"></a>

Dopo aver creato il progetto, esegui il seguente comando dalla directory del progetto, ad esempio`mynativeimageapp`:

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

In questo modo viene creata un'applicazione di immagini nativa nella `target` directory, ad esempio`target/mynativeimageapp`.