You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maven项目编译报错‘software.amazon.awssdk.services.s3不存在’的解决求助

问题:AWS S3 SDK v2编译报错“package software.amazon.awssdk.services.s3 does not exist”

错误信息

编译时触发如下错误:

java: package software.amazon.awssdk.services.s3 does not exist

当前pom.xml配置

<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>org.example</groupId>
    <artifactId>S3Bucket</artifactId>
    <version>1.0-SNAPSHOT</version>

    <properties>
        <maven.compiler.source>20</maven.compiler.source>
        <maven.compiler.target>20</maven.compiler.target>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>

    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>software.amazon.awssdk</groupId>
                <artifactId>bom</artifactId>
                <version>2.15.0</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

    <dependencies>
        <dependency>
            <groupId>software.amazon.awssdk</groupId>
            <artifactId>s3</artifactId>
        </dependency>
    </dependencies>

</project>

问题代码(CreateBucketExample.java)

package org.example;

import software.amazon.awssdk.services.s3.S3Client;

public class CreateBucketExample {
    public static void main(String[] args) {
        String bucketName = "bucket4example";
        S3Client client = S3Client.builder().build();

        CreateBucketRequest request = CreateBucketRequest.builder().bucket(bucketName).build();

        client.createBucket(request);
    }
}

旧版SDK类似问题

此前使用AWS S3 SDK v1时,也曾遇到过导入失败的问题,示例代码片段:

package aws.example.s3;

import com.amazonaws.regions.Regions;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3ClientBuilder;
import com.amazonaws.services.s3.model.AmazonS3Exception;
import com.amazonaws.services.s3.model.Bucket;

解决建议

1. 强制更新Maven依赖

执行命令mvn clean install -U,强制刷新并下载依赖包,确保software.amazon.awssdk:s3被正确拉取到本地仓库。同时检查IDE的Maven依赖面板,确认该依赖无红色警告。

2. 补充代码缺失的导入

当前代码中CreateBucketRequest未导入,需添加一行导入语句:

import software.amazon.awssdk.services.s3.model.CreateBucketRequest;

3. 适配Java版本兼容性

AWS SDK v2的2.15.0版本发布于2020年,对Java 20的支持有限,建议:

  • 将pom.xml中的maven.compiler.source和maven.compiler.target修改为11或17(SDK v2官方推荐的LTS版本);
  • 若坚持使用Java 20,升级SDK到支持Java 20的版本(如2.20.0+),修改bom版本:
    <dependency>
        <groupId>software.amazon.awssdk</groupId>
        <artifactId>bom</artifactId>
        <version>2.20.0</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>
    

4. 区分SDK v1与v2的依赖和API

  • 若使用SDK v1,需引入对应依赖:
    <dependency>
        <groupId>com.amazonaws</groupId>
        <artifactId>aws-java-sdk-s3</artifactId>
        <version>1.12.500</version>
    </dependency>
    
    注意SDK v1和v2的API完全不兼容,不要混合使用两个版本的包。

内容的提问来源于stack exchange,提问作者compi3.14159

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 13:30:28