Configurare un progetto Apache Maven - AWS SDK for Java 2.x

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

Configurare un progetto Apache Maven

È possibile utilizzare Apache Maven per configurare e creare AWS SDK for Java progetti o per creare i propri progetti. SDK

Prerequisiti

Per utilizzarlo AWS SDK for Java con Maven, è necessario quanto segue:

Creare un progetto Maven

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, sostituisci 2.X.X con le ultime novità di Maven central.

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 di per Java 2.x specificata con. SDK -DarchetypeVersion

Per ulteriori informazioni sulla creazione e la configurazione di progetti Maven, consulta la Guida alle operazioni di base Maven.

Configurare il compilatore Java per Maven

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>

Dichiara il come dipendenza SDK

Per utilizzarla AWS SDK for Java nel progetto, è necessario dichiararla 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 di SDK è già configurata come dipendenza nel progetto.

L'archetipo genera una dipendenza dagli artefatti BOM (distinta dei materiali) per l'id del gruppo. software.amazon.awssdk Con aBOM, non è necessario specificare la versione di 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 del progetto assicurandoti che SDK il file contenga quanto segue. pom.xml

<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

Replace (Sostituisci) 2.X.X nel pom.xml file con la versione più recente di. AWS SDK for Java 2.x

Imposta le dipendenze per i moduli SDK

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

Sebbene sia possibile specificare il numero di versione per ogni componente, non è necessario perché la SDK versione è 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.xmlesempio precedente, le dipendenze provengono da diverse s. groupId La s3 dipendenza proviene dasoftware.amazon.awssdk, mentre la aws-lambda-java-core dipendenza proviene da. com.amazonaws La configurazione della gestione delle BOM dipendenze influisce sugli artefatti disoftware.amazon.awssdk, quindi è necessaria una versione per l'artefatto. aws-lambda-java-core

Per lo sviluppo di gestori di funzioni Lambda che utilizzano SDK for Java 2.x, aws-lambda-java-core è la dipendenza corretta. Tuttavia, se l'applicazione deve gestire le risorse Lambda, l'utilizzo di operazioni come listFunctions deleteFunctioninvokeFunction,createFunction, e richiede la seguente dipendenza.

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

Aggiungi i moduli al tuo progetto per le Servizio AWS funzionalità necessarie al tuo progetto. I moduli (dipendenze) gestiti da AWS SDK for Java BOM sono elencati nell'archivio centrale di Maven.

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 esempio dal AWS Code Examples Repository su. GitHub (Cerca il pom.xml file in /javav2/example_code/dynamodb.)

Inserisci SDK il tutto nel tuo progetto

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

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

Creare il progetto

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

Questo crea un singolo .jar file (JAR) nella target directory (ad esempio,myapp/target). JARContiene tutti i SDK moduli che hai specificato come dipendenze nel tuo pom.xml file.