为什么当我依赖"com.datomic/ion"时会出现'Failed to read artifact descriptor'异常?



我有一个Datomic云/离子项目,我无法在另一台计算机上工作。只是键入clj希望进入 REPL 失败,出现以下异常(由包含链引起;省略堆栈跟踪;为清楚起见,格式化(:

  • Error building classpath. Failed to read artifact descriptor for com.datomic:ion:jar:0.9.34
  • org.eclipse.aether.resolution.ArtifactDescriptorException: Failed to read artifact descriptor for com.datomic:ion:jar:0.9.34
  • Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: Could not transfer artifact com.datomic:ion:pom:0.9.34 from/to datomic-cloud (s3://datomic-releases-1fc2183a/maven/releases): Unable to load AWS credentials from any provider in the chain
  • Caused by: org.eclipse.aether.transfer.ArtifactTransferException: Could not transfer artifact com.datomic:ion:pom:0.9.34 from/to datomic-cloud (s3://datomic-releases-1fc2183a/maven/releases): Unable to load AWS credentials from any provider in the chain
  • Caused by: com.amazonaws.SdkClientException: Unable to load AWS credentials from any provider in the chain

如果我注释掉deps.edn文件中的com.datomic/ion依赖项,依赖项将下载,我可以成功访问 REPL。

为什么在包含 Ion 依赖项时获取依赖项失败?

问题是 Ions 代码中的某个地方使用 AWS 开发工具包从 S3 Maven 存储库获取 Maven 依赖项。这要求用户具有"读取公开可用的 S3 存储桶"权限。因此,请确保:

  1. 您在 AWS 上有一个账户,
  2. 您的凭据在本地可用(请参阅aws configure命令(,并且
  3. 您的 AWS 用户没有因为某种奇怪的原因错过该权限(默认情况下应包含该权限(。

相关内容

最新更新