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 créer le SDK lui-même.

Prérequis

Pour utiliser le kit 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 à partir d'un terminal ou d'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 la version 2.X.X par la dernière version 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 du SDK pour 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éclaration du kit SDK comme dépendance

Pour utiliser le kit AWS SDK for Java dans votre projet, vous devez le déclarer comme dépendance dans le fichier pom.xml 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 groupe. software.amazon.awssdk Avec une nomenclature, 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 autre manière, configurez la dernière version du kit SDK pour votre projet en vous assurant que le fichier pom.xml 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 par la dernière version du. AWS SDK for Java 2.x

Définition des dépendances pour les modules SDK

Après avoir configuré le kit SDK, vous pouvez ajouter des dépendances pour un ou plusieurs modules du kit AWS SDK for Java à utiliser dans votre projet.

Bien que vous puissiez spécifier le numéro de version pour chaque composant, cela n'est pas nécessaire car vous avez déjà déclaré la version du SDK 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 dépendances des nomenclatures affecte les artefactssoftware.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 du SDK pour Java 2.xaws-lambda-java-core, quelle 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 clients HTTP, 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.)

Construction de l'intégralité du kit SDK dans votre projet

Pour optimiser votre application, nous vous recommandons vivement d'extraire uniquement les composants dont vous avez besoin au lieu de l'intégralité du kit SDK. Cependant, pour construire l'intégralité du kit AWS SDK for Java dans votre projet, déclarez-le dans votre fichier pom.xml, comme suit.

<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 fichier .jar unique (JAR) dans le répertoire target (par exemple, myapp/target). Ce fichier JAR contient tous les modules de kit SDK que vous avez spécifiés comme dépendances dans votre fichier pom.xml.