首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用gradle kotlin dsl导入amazon s3 for spring boot

如何使用gradle kotlin dsl导入amazon s3 for spring boot
EN

Stack Overflow用户
提问于 2019-08-06 01:22:21
回答 1查看 1.5K关注 0票数 0

我尝试按照官方文档中的说明在我的spring boot项目中导入s3,但是依赖关系并没有得到解决。https://docs.aws.amazon.com/sdk-for-java/v2/developer-guide/setup-project-gradle.html

我从文档到最新的2.7.16更新了software.amazon.awssdk:bom,希望这能修复它。

这是我的build.gradle.kts文件

代码语言:javascript
复制
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相关的类时,它们没有被解析。

代码语言:javascript
复制
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
EN

回答 1

Stack Overflow用户

发布于 2019-11-10 20:46:47

我也遇到过类似的问题,虽然我没能让那个特定版本的亚马逊bom运行起来,但我找到了一个变通的办法。

将以下行添加到您的build.gradle.kts

代码语言:javascript
复制
dependencyManagement {
    imports {
        mavenBom("com.amazonaws:aws-java-sdk-bom:1.11.228")
    }
}

以及dependencies块中的以下实现:

代码语言:javascript
复制
implementation("software.amazon.awssdk:s3:2.10.1")

注:或者,如果您希望一次包含所有服务,则可以添加以下内容:

代码语言:javascript
复制
implementation("software.amazon.awssdk:aws-sdk-java:2.10.1")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57363336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档