首页 > 解决方案 > Kotlin Spring Gradle AWS 依赖项

问题描述

我正在尝试为我自己的项目设置一个 AmazonConfig 文件,以便更好地使用 Spring 和 AWS,但我不知道如何为 Gradle 导入正确的 AWS 依赖项以使其工作。

构建.gradle.kt

import org.jetbrains.kotlin.gradle.tasks.KotlinCompile

plugins {
    id("org.springframework.boot") version "2.4.3"
    id("io.spring.dependency-management") version "1.0.11.RELEASE"
    kotlin("jvm") version "1.4.30"
    kotlin("plugin.spring") version "1.4.30"
}

group = "mbraun"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_15

repositories {
    mavenCentral()
}

dependencyManagement {
    imports {
        mavenBom("com.amazonaws:aws-java-sdk-bom:1.11.228")
    }
}

dependencies {
    implementation("org.springframework.boot:spring-boot-starter-web")
    implementation("software.amazon.awssdk:s3:2.10.1")
    implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
    implementation("org.jetbrains.kotlin:kotlin-reflect")
    implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
    testImplementation("org.springframework.boot:spring-boot-starter-test")
}

tasks.withType<KotlinCompile> {
    kotlinOptions {
        freeCompilerArgs = listOf("-Xjsr305=strict")
        jvmTarget = "15"
    }
}

tasks.withType<Test> {
    useJUnitPlatform()
}

亚马逊配置

package mbraun.awsimageupload.config

import org.springframework.context.annotation.Bean
import org.springframework.context.annotation.Configuration
import com.amazonaws.auth.BasicAWSCredentials

@Configuration
class AmazonConfig {
    @Bean
    fun s3(): AmazonS3 {
        val awsCredentials: AWSCredentials = BasicAWSCredentials(
            "xy",
            "xz"
        )
        return AmazonS3ClientBuilder
            .standard()
            .withCredentials(AWSStaticCredentialsProvider(awsCredentials))
            .build()
    }
}

我无法导入它们。

我试过:1)https://docs.aws.amazon.com/sdk-for-java/v1/developer-guide/setup-project-gradle.html 2)如何使用gradle kotlin dsl导入amazon s3 for spring boot

没有一个对我有用。

标签: springamazon-web-serviceskotlingradle

解决方案


有关如何为 AWS 服务设置 gradle 文件的讨论位于此处:

https://docs.aws.amazon.com/sdk-for-java/latest/developer-guide/setup-project-gradle.html

此文档适用于 AWS for Java V2(亚马逊推荐使用)。按照该文档,您将学习如何成功设置 gradle 文件,

如果您想了解如何使用 Spring Boot 应用程序和 AWS,请尝试遵循本文档,该文档将引导您构建使用 AWS SDK for Java V2 的 Spring BOOT 应用程序。然后,它会教您如何调用各种 AWS 服务,以及如何将示例应用程序部署到云中。

创建您的第一个 AWS Java Web 应用程序

2021 年 8 月更新

AWS 支持 Kotlin 开发工具包。详细信息 - https://aws.amazon.com/blogs/developer/aws-sdk-for-kotlin-alpha-release/


推荐阅读