You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复java.lang.IllegalArgumentException:无名为'danekerscode'的AWS配置文件?

解决AWS邮件发送报错:java.lang.IllegalArgumentException: No AWS profile named 'danekerscode'

错误原因

  • AWS SDK加载凭证时,找不到名为danekerscode的配置文件(profile)。通常是代码指定了该profile名称,但本地AWS配置文件或环境变量中未配置对应凭证信息。

修复方法

1. 本地配置文件添加对应profile

AWS会读取本地凭证文件中的profile信息,按以下步骤操作:

  • 找到凭证文件路径:
    • Linux/macOS:~/.aws/credentials
    • Windows:C:\Users\<你的用户名>\.aws\credentials
  • 打开文件添加如下内容(替换为你的AWS密钥):
    [danekerscode]
    aws_access_key_id = 你的AWS访问密钥ID
    aws_secret_access_key = 你的AWS秘密访问密钥
    
  • (可选)如需配置区域,在~/.aws/config(对应系统路径)中添加:
    [profile danekerscode]
    region = us-east-1  # 替换为实际使用的区域,如ap-southeast-1
    

2. 修改代码适配已存在的profile

如果代码中硬编码指定了danekerscode,可做如下调整:

  • 若本地已有其他profile(比如默认的default),将代码中的profile名称替换为已存在的:
    AmazonSimpleEmailService client = AmazonSimpleEmailServiceClientBuilder.standard()
        .withCredentials(new ProfileCredentialsProvider("default"))
        .build();
    
  • 或者直接使用默认凭证链,无需指定profile:
    AmazonSimpleEmailService client = AmazonSimpleEmailServiceClientBuilder.defaultClient();
    

3. 通过环境变量配置凭证(适合服务器/容器环境)

无需修改配置文件,直接设置环境变量让SDK自动读取:

  • Linux/macOS终端执行:
    export AWS_ACCESS_KEY_ID=你的AWS访问密钥ID
    export AWS_SECRET_ACCESS_KEY=你的AWS秘密访问密钥
    export AWS_DEFAULT_REGION=你的目标区域
    
  • Windows命令行执行:
    set AWS_ACCESS_KEY_ID=你的AWS访问密钥ID
    set AWS_SECRET_ACCESS_KEY=你的AWS秘密访问密钥
    set AWS_DEFAULT_REGION=你的目标区域
    

内容的提问来源于stack exchange,提问作者Kraken TV

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 12:15:09