Configurar un proyecto Gradle - 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 Gradle

Puedes usar Gradle para configurar y crear AWS SDK for Java proyectos.

Los pasos iniciales del ejemplo siguiente provienen de la Guía de introducción de Gradle para la versión 8.4. Si usa una versión diferente, los resultados pueden diferir ligeramente.

Para crear una aplicación Java con Gradle (línea de comandos)
  1. Cree un directorio para alojar su proyecto. En este ejemplo, el directorio se llama demo.

  2. En el directorio demo, ejecute el comando gradle init y proporcione los valores resaltados en rojo, como se muestra en el siguiente resultado de la línea de comandos. Para explicarlo, elegimos Kotlin como DSL lenguaje de script de compilación, pero al final de este tema también se muestra un ejemplo completo de Groovy.

    > gradle init Starting a Gradle Daemon (subsequent builds will be faster) Select type of project to generate: 1: basic 2: application 3: library 4: Gradle plugin Enter selection (default: basic) [1..4] 2 Select implementation language: 1: C++ 2: Groovy 3: Java 4: Kotlin 5: Scala 6: Swift Enter selection (default: Java) [1..6] 3 Generate multiple subprojects for application? (default: no) [yes, no] no Select build script DSL: 1: Kotlin 2: Groovy Enter selection (default: Kotlin) [1..2] <Enter> Select test framework: 1: JUnit 4 2: TestNG 3: Spock 4: JUnit Jupiter Enter selection (default: JUnit Jupiter) [1..4] 4 Project name (default: demo): <Enter> Source package (default: demo): <Enter> Enter target version of Java (min. 7) (default: 11): <Enter> Generate build using new APIs and behavior (some features may change in the next minor release)? (default: no) [yes, no] <Enter> > Task :init To learn more about Gradle by exploring our Samples at https://docs.gradle.org/8.4/samples/sample_building_java_applications.html BUILD SUCCESSFUL in 3m 43s 2 actionable tasks: 2 executed
  3. Una vez completada la tarea init, el directorio demo contiene la siguiente estructura de árbol. En la siguiente sección examinaremos más de cerca el archivo de compilación principal build.gradle.kts (resaltado en rojo).

    ├── app │   ├── build.gradle.kts │   └── src │   ├── main │   │   ├── java │   │   │   └── demo │   │   │   └── App.java │   │   └── resources │   └── test │   ├── java │   │   └── demo │   │   └── AppTest.java │   └── resources ├── gradle │   └── wrapper │   ├── gradle-wrapper.jar │   └── gradle-wrapper.properties ├── gradlew ├── gradlew.bat └── settings.gradle.kts

    El archivo build.gradle.kts contiene el siguiente andamiaje.

    /* * This file was generated by the Gradle 'init' task. * * This generated file contains a sample Java application project to get you started. * For more details on building Java & JVM projects, please refer to https://docs.gradle.org/8.4/userguide/building_java_projects.html in the Gradle documentation. */ plugins { // Apply the application plugin to add support for building a CLI application in Java. application } repositories { // Use Maven Central for resolving dependencies. mavenCentral() } dependencies { // Use JUnit Jupiter for testing. testImplementation("org.junit.jupiter:junit-jupiter:5.9.3") testRuntimeOnly("org.junit.platform:junit-platform-launcher") // This dependency is used by the application. implementation("com.google.guava:guava:33.3.0-jre") } // Apply a specific Java toolchain to ease working on different environments. java { toolchain { languageVersion.set(JavaLanguageVersion.of(11)) } } application { // Define the main class for the application. mainClass.set("demo.App") } tasks.named<Test>("test") { // Use JUnit Platform for unit tests. useJUnitPlatform() }
  4. Usa el archivo de compilación de Gradle basado en un andamiaje como base para tu proyecto. AWS

    1. Para administrar SDK las dependencias de tu proyecto de Gradle, agrega la lista de materiales de Maven (BOM) para esa sección del AWS SDK for Java 2.x archivo. dependencies build.gradle.kts

      ... dependencies { implementation(platform("software.amazon.awssdk:bom:2.27.21")) // With the bom declared, you specify individual SDK dependencies without a version. ... } ...
      nota

      En este archivo de compilación de ejemplo, reemplaza la 2.27.21 por la versión más reciente de la versión 2.x para Java. SDK Busque la última versión disponible en el repositorio central de Maven.

    2. Especifique los SDK módulos que su aplicación necesita en la sección. dependencies A modo de ejemplo, lo siguiente añade una dependencia de Amazon Simple Storage Service.

      ... dependencies { implementation(platform("software.amazon.awssdk:bom:2.27.21")) implementation("software.amazon.awssdk:s3") ... } ...

      Gradle resuelve automáticamente la versión correcta de las dependencias declaradas mediante la información de. BOM

En los siguientes ejemplos, se muestran los archivos de compilación completos de Gradle tanto en Kotlin como en Groovy. DSLs El archivo de compilación contiene las dependencias para Amazon S3, la autenticación, el registro y las pruebas. La versión de origen y destino de Java es la versión 11.

Kotlin DSL (build.gradle.kts)
/* * This file was generated by the Gradle 'init' task. * * This generated file contains a sample Java application project to get you started. * For more details on building Java & JVM projects, please refer to https://docs.gradle.org/8.4/userguide/building_java_projects.html in the Gradle documentation. */ plugins { // Apply the application plugin to add support for building a CLI application in Java. application } repositories { // Use Maven Central for resolving dependencies. mavenCentral() } dependencies { implementation(platform("software.amazon.awssdk:bom:2.20.56")) implementation("software.amazon.awssdk:s3") implementation("software.amazon.awssdk:sso") implementation("software.amazon.awssdk:ssooidc") implementation(platform("org.apache.logging.log4j:log4j-bom:2.20.0")) implementation("org.apache.logging.log4j:log4j-slf4j2-impl") implementation("org.apache.logging.log4j:log4j-1.2-api") testImplementation(platform("org.junit:junit-bom:5.10.0")) testImplementation("org.junit.jupiter:junit-jupiter") } // Apply a specific Java toolchain to ease working on different environments. java { toolchain { languageVersion.set(JavaLanguageVersion.of(11)) } } application { // Define the main class for the application. mainClass.set("demo.App") } tasks.named<Test>("test") { // Use JUnit Platform for unit tests. useJUnitPlatform() }
Groovy DSL (build.gradle)
/* * This file was generated by the Gradle 'init' task. * * This generated file contains a sample Java application project to get you started. * For more details on building Java & JVM projects, please refer to https://docs.gradle.org/8.4/userguide/building_java_projects.html in the Gradle documentation. */ plugins { // Apply the application plugin to add support for building a CLI application in Java. id 'application' } repositories { // Use Maven Central for resolving dependencies. mavenCentral() } dependencies { implementation platform('software.amazon.awssdk:bom:2.27.21') implementation 'software.amazon.awssdk:s3' implementation 'software.amazon.awssdk:sso' implementation 'software.amazon.awssdk:ssooidc' implementation platform('org.apache.logging.log4j:log4j-bom:2.20.0') implementation 'org.apache.logging.log4j:log4j-slf4j2-impl' implementation 'org.apache.logging.log4j:log4j-1.2-api' testImplementation platform('org.junit:junit-bom:5.10.0') testImplementation 'org.junit.jupiter:junit-jupiter' } // Apply a specific Java toolchain to ease working on different environments. java { toolchain { languageVersion = JavaLanguageVersion.of(11) } } application { // Define the main class for the application. mainClass = 'demo_groovy.App' } tasks.named('test') { // Use JUnit Platform for unit tests. useJUnitPlatform() }

Para ver los pasos siguientes, consulte la guía de introducción en el sitio web de Gradle para obtener instrucciones sobre cómo compilar y ejecutar una aplicación de Gradle.