Configuration d'un projet Apache Maven - AWS SDK for Java 2.x

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Configuration d'un projet Apache Maven

Vous pouvez utiliser Apache Maven pour configurer et créer AWS SDK for Java des projets, ou pour les créer SDK lui-même.

Prérequis

Pour utiliser le AWS SDK for Java avec Maven, vous avez besoin des éléments suivants :

Création d’un projet Maven

Pour créer un projet Maven à partir de la ligne de commande, exécutez la commande suivante depuis un terminal ou une fenêtre d'invite de commande.

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
Note

Remplacez com.example.myapp par l'espace de noms complet du package de votre application. Remplacez également myapp par le nom de votre projet. Cette valeur devient le nom du répertoire de votre projet.

Pour utiliser la dernière version de l'archétype, remplacez 2.X.X avec les dernières nouveautés de Maven Central.

Cette commande crée un projet Maven à l'aide de la boîte à outils de modélisation des archétypes. L'archétype génère l'échafaudage d'un projet de gestionnaire de fonctions. AWS Lambda Cet archétype de projet est préconfiguré pour être compilé avec Java SE 8 et inclut une dépendance à la version de SDK for Java 2.x spécifiée avec. -DarchetypeVersion

Pour de plus amples informations sur la création et la configuration de projets Maven, veuillez consulter le document Maven Getting Started Guide.

Configuration du compilateur Java pour Maven

Si vous avez créé votre projet en utilisant l'archétype du AWS Lambda projet tel que décrit précédemment, la configuration du compilateur Java est déjà terminée pour vous.

Pour vérifier que cette configuration est présente, commencez par ouvrir le fichier pom.xml à partir du dossier de projet que vous avez créé (par exemple, myapp) lors de l’exécution de la commande précédente. Regardez le paramètre de version du compilateur Java pour ce projet Maven aux lignes 11 et 12, ainsi que l'inclusion requise du plug-in du compilateur Maven aux lignes 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>

Si vous créez votre projet avec un archétype différent ou en utilisant une autre méthode, vous devez vous assurer que le plug-in du compilateur Maven fait partie de la génération et que ses propriétés source et cible sont toutes deux définies sur 1.8 dans le fichier pom.xml.

L'extrait précédent présente une façon de configurer ces paramètres requis.

Vous pouvez également définir la configuration du compilateur en ligne avec la déclaration du plug-in, comme suit.

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

Déclarer le SDK comme dépendance

Pour utiliser le AWS SDK for Java dans votre projet, vous devez le déclarer en tant que dépendance dans le pom.xml fichier de votre projet.

Si vous avez créé votre projet à l'aide de l'archétype de projet tel que décrit précédemment, la dernière version du SDK est déjà configurée en tant que dépendance dans votre projet.

L'archétype génère une dépendance à un artefact BOM (nomenclature) pour l'identifiant du software.amazon.awssdk groupe. Avec aBOM, il n'est pas nécessaire de spécifier la version maven pour les dépendances d'artefacts individuels qui partagent le même identifiant de groupe.

Si vous avez créé votre projet Maven d'une manière différente, configurez la dernière version du SDK pour votre projet en vous assurant que le pom.xml fichier contient les éléments suivants.

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

Remplacez 2.X.X dans le pom.xml fichier contenant la dernière version du AWS SDK for Java 2.x.

Définir les dépendances des SDK modules

Maintenant que vous avez configuré leSDK, vous pouvez ajouter des dépendances pour un ou plusieurs AWS SDK for Java modules à utiliser dans votre projet.

Bien que vous puissiez spécifier le numéro de version pour chaque composant, ce n'est pas nécessaire car vous avez déjà déclaré la SDK version dans la dependencyManagement section à l'aide de l'artefact de nomenclature. Pour charger une version différente d'un module donné, spécifiez un numéro de version pour sa dépendance.

Si vous avez créé votre projet à l'aide de l'archétype de projet tel que décrit précédemment, votre projet est déjà configuré avec plusieurs dépendances. Il s'agit notamment des dépendances pour les gestionnaires de AWS Lambda fonctions et Amazon S3, comme suit.

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

Dans l'pom.xmlexemple ci-dessus, les dépendances proviennent de groupId s différents. La s3 dépendance vient desoftware.amazon.awssdk, alors que la aws-lambda-java-core dépendance vient decom.amazonaws. La configuration de gestion des BOM dépendances affecte les artefacts poursoftware.amazon.awssdk, une version est donc nécessaire pour l'aws-lambda-java-coreartefact.

Pour le développement de gestionnaires de fonctions Lambda à l'aide de la version 2.x SDK pour Java, quelle aws-lambda-java-core est la bonne dépendance ? Toutefois, si votre application doit gérer des ressources Lambda, l'utilisation d'opérations telles quelistFunctions,deleteFunction, et invokeFunctioncreateFunction, votre application nécessite la dépendance suivante.

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

La s3 dépendance exclut les dépendances transitives netty-nio-client et les dépendances apache-client transitives. À la place de l'un ou l'autre de ces HTTP clients, l'archétype inclut la url-connection-client dépendance, ce qui permet de réduire la latence de démarrage des AWS Lambda fonctions.

Ajoutez à votre projet les modules Service AWS et les fonctionnalités dont vous avez besoin pour votre projet. Les modules (dépendances) gérés par le AWS SDK for Java BOM sont répertoriés dans le référentiel central Maven.

Note

Vous pouvez rechercher le fichier pom.xml à partir d'un exemple de code pour déterminer les dépendances dont vous avez besoin pour votre projet. Par exemple, si vous êtes intéressé par les dépendances du service DynamoDB, consultez cet exemple extrait du référentiel d'exemples de code AWS sur. GitHub (Recherchez le pom.xml fichier sous /javav2/example_code/dynamodb.)

Intégrez l'intégralité SDK à votre projet

Pour optimiser votre application, nous vous recommandons vivement de n'intégrer que les composants dont vous avez besoin au lieu de les intégrer dans leur intégralitéSDK. Toutefois, pour AWS SDK for Java intégrer l'intégralité à votre projet, déclarez-le dans votre pom.xml fichier de la manière suivante.

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

Génération de votre projet

Après avoir configuré le fichier pom.xml, vous pouvez utiliser Maven pour construire votre projet.

Pour construire votre projet Maven à partir de la ligne de commande, ouvrez une fenêtre de terminal ou d'invite de commande, accédez à votre répertoire de projet (par exemple, myapp), entrez ou collez la commande suivante, puis appuyez sur Entrée ou Retour.

mvn package

Cela crée un seul .jar fichier (JAR) dans le target répertoire (par exemple,myapp/target). Il JAR contient tous les SDK modules que vous avez spécifiés comme dépendances dans votre pom.xml fichier.