Configurar un proyecto Apache Maven - AWS SDK for Java 2.x

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Configurar un proyecto Apache Maven

Puede usar Apache Maven para configurar y crear AWS SDK for Java proyectos o para crearlos él mismo SDK.

Requisitos previos

Para usarlo AWS SDK for Java con Maven, necesitas lo siguiente:

Crear un proyecto de Maven

Para crear un proyecto Maven desde la línea de comandos, ejecute el siguiente comando desde un terminal o una ventana del indicador de comandos.

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

Sustituya com.example.myapp por el espacio de nombres del paquete completo de su aplicación. Sustituya también myapp por el nombre de su proyecto. Esto se convierte en el nombre del directorio del proyecto.

Para usar la última versión del arquetipo, sustituya 2.X.X con lo último de Maven Central.

Este comando crea un proyecto Maven utilizando el conjunto de herramientas de plantillas de arquetipos. El arquetipo genera el andamiaje para un proyecto de manipulador de funciones. AWS Lambda Este arquetipo de proyecto está preconfigurado para compilarse con Java SE 8 e incluye una dependencia de la versión para Java 2.x especificada con. SDK -DarchetypeVersion

Para obtener más información sobre cómo crear y configurar proyectos de Maven, consulte Maven Getting Started Guide.

Configurar el compilador Java para Maven

Si ha creado su proyecto utilizando el arquetipo de AWS Lambda proyecto descrito anteriormente, la configuración del compilador de Java ya está hecha.

Para comprobar que esta configuración está presente, comience abriendo el archivo pom.xml desde la carpeta de proyecto que creó (por ejemplo, myapp) cuando ejecutó el comando anterior. Busque en las líneas 11 y 12 para consultar la configuración de la versión del compilador Java para este proyecto de Maven y la inclusión requerida del complemento del compilador de Maven en las líneas 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 crea su proyecto con un arquetipo diferente o utilizando otro método, debe asegurarse de que el complemento del compilador de Maven sea parte de la compilación y que sus propiedades de origen y destino están establecidas en 1.8 en el archivo pom.xml.

Consulte el fragmento anterior para ver una forma de configurar estos parámetros necesarios.

Otra opción sería definir la configuración del compilador insertada con la declaración del complemento, de la siguiente manera.

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

Declárelo como una dependencia SDK

Para usarlo AWS SDK for Java en su proyecto, debe declararlo como una dependencia en el pom.xml archivo de su proyecto.

Si creó el proyecto utilizando el arquetipo del proyecto tal como se describió anteriormente, la última versión del ya SDK está configurada como una dependencia en el proyecto.

El arquetipo genera una dependencia entre artefactos BOM (lista de materiales) para el identificador del grupo. software.amazon.awssdk Con unBOM, no es necesario especificar la versión maven para las dependencias de artefactos individuales que comparten el mismo identificador de grupo.

Si ha creado su proyecto de Maven de una manera diferente, configure la última versión del proyecto asegurándose SDK de que el pom.xml archivo contenga lo siguiente.

<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

Reemplazar 2.X.X en el pom.xml archivo con la última versión de AWS SDK for Java 2.x.

Establezca las dependencias de los módulos SDK

Ahora que lo ha configuradoSDK, puede añadir dependencias para uno o más de los AWS SDK for Java módulos para utilizarlos en su proyecto.

Aunque puede especificar el número de versión de cada componente, no es necesario porque ya declaró la SDK versión en la dependencyManagement sección mediante el artefacto de la lista de materiales. Para cargar una versión personalizada de un módulo determinado, especifique un número de versión para su dependencia.

Si creó su proyecto utilizando el arquetipo de proyecto como se ha descrito anteriormente, su proyecto ya está configurado con múltiples dependencias. Incluyen las dependencias de los controladores de funciones AWS Lambda y Amazon S3, de la siguiente manera.

<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

En el ejemplo pom.xml anterior, las dependencias son de diferentes groupId. La dependencia s3 es de software.amazon.awssdk, mientras que la dependencia aws-lambda-java-core es de com.amazonaws. La configuración de la administración de BOM dependencias afecta a los artefactossoftware.amazon.awssdk, por lo que se necesita una versión del aws-lambda-java-core artefacto.

Para el desarrollo de controladores de funciones Lambda utilizando SDK para Java 2.x, aws-lambda-java-core es la dependencia correcta. Sin embargo, si la aplicación necesita administrar los recursos de Lambda, el uso de operaciones como listFunctions, deleteFunction, invokeFunction y createFunction, la aplicación requiere la siguiente dependencia.

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

La dependencia s3 excluye las dependencias transitivas netty-nio-client y apache-client. En lugar de cualquiera de esos HTTP clientes, el arquetipo incluye la url-connection-client dependencia, lo que ayuda a reducir la latencia de inicio de las funciones. AWS Lambda

Agregue los módulos a su proyecto para obtener las funciones Servicio de AWS y características que necesite para su proyecto. Los módulos (dependencias) que administra se AWS SDK for Java BOM enumeran en el repositorio central de Maven.

nota

Puede examinar el archivo pom.xml de un ejemplo de código para determinar qué dependencias necesita para su proyecto. Por ejemplo, si le interesan las dependencias del servicio DynamoDB, consulte este ejemplo del repositorio de ejemplos de AWS código en. GitHub (Busque el archivo pom.xml en /java2/example_code/dynamodb.)

Integre todo en su proyecto SDK

Para optimizar su aplicación, le recomendamos encarecidamente que incorpore solo los componentes que necesita en lugar de los componentes completosSDK. Sin embargo, para integrarlo todo AWS SDK for Java en su proyecto, declárelo en su pom.xml archivo de la siguiente manera.

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

Compilación del proyecto

Después de configurar el archivo pom.xml, puede usar Maven para crear el proyecto.

Para crear el proyecto de Maven desde la línea de comandos, abra una ventana de terminal o símbolo del sistema, desplácese hasta el directorio del proyecto (por ejemplo, myapp), escriba o pegue el siguiente comando y, a continuación, presione "Enter" o "Return".

mvn package

Esto crea un único .jar archivo (JAR) en el target directorio (por ejemplo,myapp/target). JARContiene todos los SDK módulos que especificó como dependencias en su pom.xml archivo.