Maven无法加载链中任何提供商的AWS凭证

时间:2018-09-21 03:22:00

标签: amazon-web-services maven amazon-s3

我正在尝试下拉一个使用AWS的Maven项目。我有一个带密钥和密码的aws IAM用户。我运行aws configure并在默认帐户中配置了〜/ .aws / credentials文件。但是,当我运行maven clean install时,出现以下错误:

Failed to execute goal on project project-name: 
Could not resolve dependencies for project com.project:project-name:war:1.0: 
Failed to collect dependencies at com.project:commons-java:jar:1.0.0: 
Failed to read artifact descriptor for com.project:commons-java:jar:1.0.0: 
Could not transfer artifact com.project:commons-java:pom:1.0.0 
from/to project-maven-repo-releases (s3://project-maven-repo/releases): 
Unable to load AWS credentials from any provider in the chain

很显然,Maven无法加载s3的依赖关系。我已经确认我的IAM用户具有s3权限。而且,即使s3是“无区域的”,我也向IAM帐户提供了正确的区域。我也尝试导出AWS变量无济于事。知道可能是什么问题吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

一段时间以来,我一直在努力解决同样的问题。在检查了我在AWS中的权限并执行了许多其他疑难解答步骤之后,我认为我的问题已通过更改构建路径和我尝试构建的存储库中多个不同文件的目录权限来解决。我无意间克隆了它们,并将其复制为“ root”,这样,即使具有sudo权限,maven仍无法读取我的Amazon凭证。

可以缩小问题范围的另一步骤是确定故障所在。我通过下载AWS python sample完成了此任务,该文件将尝试在s3中创建并添加到存储桶中。如果这可行,则意味着问题出在maven上,其他应用程序可以很好地访问您的凭据,并且就s3而言,您具有正确的权限。如果python示例也不起作用,则更容易进入和调试问题的确切位置(在我看来)。