

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 Apache Maven che utilizza AWS SDK for Java 2.x
<a name="setup-project-maven"></a>

[Puoi usare [Apache Maven](https://maven.apache.org/) per configurare e creare AWS SDK for Java 2.x progetti o per creare l'SDK stesso.](https://github.com/aws/aws-sdk-java-v2/tree/master#building-from-source)

## Prerequisiti
<a name="prerequisitesmaven"></a>

Per utilizzare l'SDK for Java 2.x con Maven, è necessario quanto segue:
+ Java *8.0 o versione successiva*. [È possibile scaricare il software Java SE Development Kit più recente da http://www.oracle. com/technetwork/java/javase/downloads](https://www.oracle.com/java/technologies/downloads/)/. L'SDK for Java 2.x funziona anche con [OpenJDK](https://openjdk.org/) Amazon Corretto e una distribuzione dell'Open Java Development Kit (OpenJDK). Scarica l'ultima versione di OpenJDK da. [https://openjdk.java.net/install/index.html](https://openjdk.org/install/index.html) [Scarica l'ultima versione Amazon Corretto 8 o Amazon Corretto 11 dalla pagina. Corretto](https://aws.amazon.com/corretto/)
+  *Apache Maven*. Se hai bisogno di installare Maven, vai su [http://maven.apache.org/](https://maven.apache.org/) per scaricarlo e installarlo.

## Creare un progetto Maven
<a name="create-maven-project"></a>

Per creare un progetto Maven dalla riga di comando, esegui il seguente comando da un terminale o da una finestra del prompt dei comandi. `` ``

```
mvn -B archetype:generate \
 -DarchetypeGroupId=software.amazon.awssdk \
 -DarchetypeArtifactId=archetype-lambda -Dservice=s3 -Dregion=US_WEST_2 \
 -DarchetypeVersion=2.X.X \
 -DgroupId=com.example.myapp \
 -DartifactId=myapp
```

**Nota**  
Sostituisci *com.example.myapp* con lo spazio dei nomi del pacchetto completo dell'applicazione. Sostituisci anche *myapp* con il nome del tuo progetto. Questo sarà il nome della directory per il progetto.  
[Per utilizzare la versione più recente dell'archetipo, sostituiscila *2.X.X* con la più recente di Maven central.](https://central.sonatype.com/artifact/software.amazon.awssdk/archetype-lambda)

Questo comando crea un progetto Maven utilizzando l'archetype templating toolkit. L'archetipo genera lo scaffolding per un progetto di gestione delle funzioni. AWS Lambda Questo archetipo di progetto è preconfigurato per la compilazione con Java SE 8 e include una dipendenza dalla versione dell'SDK for Java 2.x specificata con. `-DarchetypeVersion`

Per ulteriori informazioni sulla creazione e la configurazione di progetti Maven, consulta la [Guida alle operazioni di base Maven](https://maven.apache.org/guides/getting-started/).

## Configurare il compilatore Java per Maven
<a name="configure-maven-compiler"></a>

Se avete creato il progetto utilizzando l'archetipo del AWS Lambda progetto come descritto in precedenza, la configurazione del compilatore Java è già stata completata automaticamente.

Per verificare che questa configurazione sia presente, inizia aprendo il file `pom.xml` dalla cartella del progetto creata (ad esempio `myapp`) quando hai eseguito il comando precedente. Guarda le righe 11 e 12 per vedere l'impostazione della versione del compilatore Java per questo progetto Maven e l'inclusione richiesta del plugin del compilatore Maven sulle righe 71-75.

```
<project>
  <properties>
    <maven.compiler.source>1.8</maven.compiler.source>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>${maven.compiler.plugin.version}</version>
      </plugin>
    </plugins>
  </build>
</project>
```

Se crei il tuo progetto con un archetipo diverso o utilizzando un altro metodo, devi assicurarti che il plugin del compilatore Maven faccia parte della build e che le sue proprietà di origine e destinazione siano entrambe impostate su **1.8** nel file `pom.xml`.

Vedi lo snippet precedente per una modalità di configurazione di tali impostazioni richieste.

In alternativa, puoi impostare la configurazione del compilatore in linea con la dichiarazione del plugin, come segue.

```
<project>
  <build>
    <plugins>
      <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>
        <configuration>
          <source>1.8</source>
          <target>1.8</target>
        </configuration>
      </plugin>
    </plugins>
  </build>
</project>
```

## Dichiarare l'SDK come dipendenza
<a name="sdk-as-dependency"></a>

Per utilizzarlo AWS SDK per Java nel progetto, è necessario dichiararlo come dipendenza nel file del progetto. `pom.xml`

Se avete creato il progetto utilizzando l'archetipo del progetto come descritto in precedenza, l'ultima versione dell'SDK è già configurata come dipendenza nel progetto. 

L'archetipo genera una dipendenza dall'artefatto BOM (distinta dei materiali) per l'id del gruppo. `software.amazon.awssdk` Con un BOM, non è necessario specificare la versione Maven per le dipendenze dei singoli artefatti che condividono lo stesso ID di gruppo.

Se hai creato il tuo progetto Maven in un modo diverso, configura l'ultima versione dell'SDK per il tuo progetto assicurandoti che il file `pom.xml` contenga quanto segue.

```
<project>
  <properties>
    <aws.java.sdk.version>2.X.X</aws.java.sdk.version>
  </properties>
  <dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>bom</artifactId>
        <version>${aws.java.sdk.version}</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>
</project>
```

**Nota**  
[Sostituisci il *2.X.X*`pom.xml` file con la versione più recente di. AWS SDK for Java 2.x](https://central.sonatype.com/artifact/software.amazon.awssdk/bom)

## Impostare le dipendenze per i moduli SDK
<a name="modules-dependencies"></a>

Ora che hai configurato l'SDK, puoi aggiungere dipendenze per uno o più AWS SDK per Java moduli da utilizzare nel tuo progetto.

Sebbene sia possibile specificare il numero di versione per ogni componente, non è necessario perché la versione SDK è già stata dichiarata nella `dependencyManagement` sezione utilizzando l'elemento della distinta base. Per caricare una versione diversa di un determinato modulo, specificate un numero di versione per la sua dipendenza.

Se avete creato il progetto utilizzando l'archetipo del progetto come descritto in precedenza, il progetto è già configurato con dipendenze multiple. Queste includono le dipendenze per i gestori di AWS Lambda funzioni e Amazon S3, come segue.

```
<project>
    <dependencies>
        <dependency>
            <groupId>software.amazon.awssdk</groupId>
            <artifactId>s3</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>software.amazon.awssdk</groupId>
                    <artifactId>netty-nio-client</artifactId>
                </exclusion>
                <exclusion>
                    <groupId>software.amazon.awssdk</groupId>
                    <artifactId>apache-client</artifactId>
                </exclusion>
            </exclusions>
        </dependency>

        <dependency>
            <groupId>software.amazon.awssdk</groupId>
            <artifactId>url-connection-client</artifactId>
        </dependency>

        <dependency>
            <groupId>com.amazonaws</groupId>
            <artifactId>aws-lambda-java-core</artifactId>
            <version>${aws.lambda.java.version}</version>
        </dependency>
    </dependencies>
</project>
```

**Nota**  
Nell'`pom.xml`esempio precedente, le dipendenze provengono da diverse s. `groupId` La `s3` dipendenza proviene da`software.amazon.awssdk`, mentre la `aws-lambda-java-core` dipendenza proviene da. `com.amazonaws` La configurazione della gestione delle dipendenze BOM influisce sugli artefatti di`software.amazon.awssdk`, quindi è necessaria una versione per l'artefatto. `aws-lambda-java-core`  
Per lo sviluppo di *gestori di funzioni Lambda* utilizzando l'SDK for Java `aws-lambda-java-core` 2.x, è la dipendenza corretta. Tuttavia, se l'applicazione deve gestire le risorse Lambda, l'utilizzo di operazioni come `listFunctions` `deleteFunction``invokeFunction`,`createFunction`, e richiede la seguente dipendenza.   

```
<groupId>software.amazon.awssdk</groupId>
<artifactId>lambda</artifactId>
```

**Nota**  
La `s3` dipendenza esclude le dipendenze e le dipendenze transitive. `netty-nio-client` `apache-client` [Al posto di uno di questi client HTTP, l'archetipo include la `url-connection-client` dipendenza, che aiuta a ridurre la latenza di avvio delle funzioni. AWS Lambda](lambda-optimize-starttime.md#lambda-quick-url)

Aggiungi i moduli al tuo progetto per le Servizio AWS funzionalità necessarie al tuo progetto. I moduli (dipendenze) gestiti dalla AWS SDK per Java BOM sono elencati nell'archivio centrale di [Maven](https://central.sonatype.com/artifact/software.amazon.awssdk/bom).

**Nota**  
Puoi esaminare il file `pom.xml` da un esempio di codice per determinare di quali dipendenze hai bisogno per il tuo progetto. [Ad esempio, se sei interessato alle dipendenze per il servizio DynamoDB, [guarda questo](https://github.com/awsdocs/aws-doc-sdk-examples/blob/da520cb4436f8567a90b6f73f77232fd590a50bf/javav2/example_code/dynamodb/pom.xml) esempio dal AWS Code Examples Repository su.](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2) GitHub [(Cerca il `pom.xml` file in /javav2/example\$1code/dynamodb.)](https://github.com/awsdocs/aws-doc-sdk-examples/tree/main/javav2/example_code/dynamodb)

### Creare l'intero SDK nel progetto
<a name="build-the-entire-sdk-into-your-project"></a>

Per ottimizzare l’applicazione, ti consigliamo di inserire solo i componenti necessari anziché tutto l'SDK. Tuttavia, per inserire il tutto AWS SDK per Java nel tuo progetto, dichiaralo nel tuo file, come segue. `pom.xml`

```
<project>
  <dependencies>
    <dependency>
      <groupId>software.amazon.awssdk</groupId>
      <artifactId>aws-sdk-java</artifactId>
      <version>2.X.X</version>
    </dependency>
  </dependencies>
</project>
```

## Creare il progetto
<a name="build-project"></a>

Dopo aver configurato il file `pom.xml`, puoi usare Maven per creare il tuo progetto.

Per creare il tuo progetto Maven dalla riga di comando, apri un terminale o una finestra del prompt dei comandi, vai alla directory del progetto (ad esempio `myapp`), inserisci o incolla il seguente comando, quindi premi Enter o Invio.

```
mvn package
```

Viene così creato un singolo file `.jar` (JAR) nella directory `target` (ad esempio, `myapp/target`). Questo file JAR contiene tutti i moduli SDK specificati come dipendenze nel file `pom.xml`.