我试图按照官方文档的说明在我的春季启动项目中导入S3,但依赖关系尚未解决。https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/setup-project-gradle.html
我将software.amazon.awssdk:bom
从文档更新为最新的2.7.16
,希望它可以解决。
这是我的build.gradle.kts文件
import org.jetbrains.kotlin.gradle.tasks.KotlinCompile
plugins {
kotlin("plugin.jpa") version "1.3.31"
id("org.springframework.boot") version "2.1.5.RELEASE"
id("io.spring.dependency-management") version "1.0.7.RELEASE"
kotlin("jvm") version "1.3.31"
kotlin("plugin.spring") version "1.3.31"
kotlin("plugin.noarg") version "1.3.31"
}
allOpen {
annotation("javax.persistence.Entity")
annotation("javax.persistence.MappedSuperclass")
annotation("javax.persistence.Embeddable")
}
noArg {
annotation("javax.persistence.Entity")
}
group = "com.leaveentry"
version = "0.0.1-SNAPSHOT"
java.sourceCompatibility = JavaVersion.VERSION_1_8
repositories {
mavenCentral()
}
dependencies {
implementation("org.springframework.boot:spring-boot-starter-data-jpa")
implementation("org.springframework.boot:spring-boot-starter-security")
implementation("org.springframework.boot:spring-boot-starter-web")
implementation("com.fasterxml.jackson.module:jackson-module-kotlin")
implementation("org.jetbrains.kotlin:kotlin-reflect")
implementation("org.jetbrains.kotlin:kotlin-stdlib-jdk8")
implementation("com.google.api-client:google-api-client:1.25.0")
implementation("io.jsonwebtoken:jjwt-api:0.10.5")
implementation(platform("software.amazon.awssdk:bom:2.7.16"))
implementation("software.amazon.awssdk:s3")
runtimeOnly("com.h2database:h2")
runtimeOnly("mysql:mysql-connector-java")
runtimeOnly("io.jsonwebtoken:jjwt-impl:0.10.5")
runtimeOnly("io.jsonwebtoken:jjwt-jackson:0.10.5")
annotationProcessor("org.springframework.boot:spring-boot-configuration-processor")
testImplementation("org.springframework.boot:spring-boot-starter-test")
testImplementation("org.springframework.security:spring-security-test")
}
tasks.withType<KotlinCompile> {
kotlinOptions {
freeCompilerArgs = listOf("-Xjsr305=strict")
jvmTarget = "1.8"
}
}
当我尝试导入S3相关类时,它们无法解决。
import com.amazonaws.auth.AWSStaticCredentialsProvider
import com.amazonaws.auth.BasicAWSCredentials
import com.amazonaws.regions.Regions
import com.amazonaws.services.s3.AmazonS3ClientBuilder
import com.amazonaws.services.s3.model.CannedAccessControlList
import com.amazonaws.services.s3.model.PutObjectRequest
我也有类似的问题,尽管我没有设法使亚马逊的特定版本工作,但我找到了解决方法。
添加到您的build.gradle.kts
以下行:
dependencyManagement {
imports {
mavenBom("com.amazonaws:aws-java-sdk-bom:1.11.228")
}
}
以及dependencies
块中的以下实现:
implementation("software.amazon.awssdk:s3:2.10.1")
注意:另外,如果要一次包含所有服务,则可以添加以下内容:
implementation("software.amazon.awssdk:aws-sdk-java:2.10.1")