spring - 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
没有一个对我有用。
解决方案
有关如何为 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 服务,以及如何将示例应用程序部署到云中。
2021 年 8 月更新
AWS 支持 Kotlin 开发工具包。详细信息 - https://aws.amazon.com/blogs/developer/aws-sdk-for-kotlin-alpha-release/
推荐阅读
- xamarin - 如何在 App Center Build 中使用 .NET Core 3.0 Preview8
- c++ - C++ 触发一次事件
- python - 手动设置地理视图的纬度、经度范围
- php - 我的文件上传表单是否可以在 PWA 中使用,如果没有,我该如何实现?
- c - 在 C 中合并两个链表时遇到问题
- visual-studio - Qt - 在 QTableWidget 中添加一行时出现奇怪的访问冲突
- python - 如何使用 python 脚本的输出作为 RASA 的输入而不是通常的用户输入?
- php - 仅向多个授权用户角色显示 WooCommerce 产品
- javascript - Bootstrap Modal appearing empty when reopened for a 2nd time
- javascript - React-konva 带箭头的双连接对象