Spring 使用 AWS 的云配置 Java SDK 2.0

Spring Cloud Config with AWS Java SDK 2.0

我正在尝试遵循此 tutorial 但我使用的是 AWS Java SDK 2。但由于缺少来自 [=18= 的 类 而失败] 版本的 SDK。

java.lang.NoClassDefFoundError: com/amazonaws/auth/AWSCredentials
    at com.xxx.cloud.aws.structure.StructureTest.getRepositories(StructureTest.java:244)
Caused by: java.lang.ClassNotFoundException: com.amazonaws.auth.AWSCredentials
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:602)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)
    ... 38 more

关于如何使其适用于 2.X SDK 的任何提示?

我从 GitHub 打开项目,从 gradle 文件,我认为它们丢失了:

编译组:'com.amazonaws',名称:'aws-java-sdk',版本:'X'

其中 'X' 是您要定位的版本。

SDK v1 和 v2 之间存在重大(重大)变化。 v2 不是向后兼容的,这意味着如果不对代码进行重大更改和重构,v1 示例将不会 运行 在 v2 上。 即使使用 migration guide 也需要一些 AWS 经验才能完成。

v2 目前是开发人员预览版(即使它已经相当稳定)。 v1 仍然是正式的生产版本,即使 v2 的第一个版本到来,亚马逊也会在更长的时间内提供全面支持。

这就是说我建议使用 v1 来完成教程。一旦开始为 AWS 编写代码,您就会发现在 v1 或 v2 中表达自己的想法很容易(因为这 2 个版本在功能上是等效的 afaik)。