无法解析类型 software.amazon.awssdk.awscore.client.builder.AwsSyncClientBuilder

The type software.amazon.awssdk.awscore.client.builder.AwsSyncClientBuilder cannot be resolved

我正在按照 example 代码将主题发布到 SNS,如下所示:

package aws.sns;

import software.amazon.awssdk.services.sns.SnsClient;
import software.amazon.awssdk.services.sns.SnsClientBuilder;
import software.amazon.awssdk.services.sns.model.PublishRequest;

public class AWSNSPublisher
{
    SnsClient client;
    
    public AWSNSPublisher()
    {
        SnsClient sns = SnsClient.builder().region("region").build();
    }
}

但是,Eclipse 给我这个错误:

The type software.amazon.awssdk.awscore.client.builder.AwsSyncClientBuilder cannot be resolved. It is indirectly referenced from required .class files

我的构建路径中有以下 JAR(我 有能力使用 maven):

  1. aws-sdk-java-2.17.29
  2. sdk-core-2.17.29
  3. sns-2.17.29

它表现出一些其他的怪异,我将其归因于上述错误:代码完成建议 SnsClient.builder(). 除了从 Object 继承的方法外没有其他方法:

我也尝试过清理和重建项目,但无济于事。

我这辈子都想不出我需要做什么才能让这一切快乐。任何帮助将不胜感激。

我刚刚执行了这个示例代码——如下所示:

如您所见,我设置了一个断点并遍历了成功的代码。我使用 IntelliJ。但是,对于 Eclipse 中的问题;您是否在此处设置了环境并使用了作为此 Git 存储库一部分的 POM:

https://github.com/awsdocs/aws-doc-sdk-examples/tree/master/javav2/example_code/sns

您的环境似乎没有引入所有依赖项。

我解决了这个问题:The type software.amazon.awssdk.awscore.client.builder.AwsSyncClientBuilder cannot be resolved. It is indirectly referenced from required .class files 通过导入 jar.

问题解决后我仍然遇到问题。我在 smac2020 提供的 AWS jar 列表中进行了挑选,最终得到了满意的结果。这是最终的 jar 列表: