这个问题通常是由于使用了不兼容的AWS SDK版本导致的。以下是解决这个问题的步骤:
确保您使用的是最新版本的AWS SDK v2。可以在官方AWS SDK for Java的GitHub页面上找到最新版本的信息。
如果您已经使用了最新版本的AWS SDK v2,那么可能是由于您的项目中存在其他依赖项与AWS SDK不兼容。您可以尝试通过更新这些依赖项来解决问题。
检查您的项目中是否存在重复的依赖项。如果存在重复的依赖项,可能会导致冲突和不兼容性。您可以使用Maven或Gradle等构建工具来排除重复的依赖项。
如果上述步骤都没有解决问题,您可以尝试手动添加AWS SDK v2的依赖项,而不是依赖于其他库。这样可以确保您使用的是正确的AWS SDK版本。
以下是一个使用AWS SDK v2 STS的示例代码:
import software.amazon.awssdk.auth.credentials.DefaultCredentialsProvider;
import software.amazon.awssdk.regions.Region;
import software.amazon.awssdk.services.sts.StsClient;
import software.amazon.awssdk.services.sts.model.GetCallerIdentityRequest;
import software.amazon.awssdk.services.sts.model.GetCallerIdentityResponse;
public class STSExample {
public static void main(String[] args) {
StsClient stsClient = StsClient.builder()
.credentialsProvider(DefaultCredentialsProvider.create())
.region(Region.US_EAST_1)
.build();
GetCallerIdentityRequest request = GetCallerIdentityRequest.builder().build();
GetCallerIdentityResponse response = stsClient.getCallerIdentity(request);
System.out.println("Account: " + response.account());
System.out.println("Arn: " + response.arn());
System.out.println("UserId: " + response.userId());
}
}
请注意,以上代码仅为示例,您需要根据您的实际需求进行相应的修改和配置。
希望这些信息对您有所帮助!