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

Google Cloud Java认证异常:Vertex AI应用默认凭据不可用

解决Java Vertex AI凭据未找到的问题

可能的原因及对应解决方案

1. IntelliJ未继承终端的环境变量

Mac系统中,若从GUI启动IntelliJ,它不会读取终端内设置的GOOGLE_APPLICATION_CREDENTIALS环境变量。解决方式:

  • 关闭IntelliJ,通过终端启动:
    open -a "IntelliJ IDEA"
    
    启动后,IntelliJ会继承终端的环境变量,程序即可读取到已配置的凭据路径。

2. 在IntelliJ运行配置中直接设置环境变量

无需依赖系统环境变量,直接在程序的运行配置里指定:

  • 打开Run/Debug Configurations(运行/调试配置)
  • 选中你的Java程序配置,切换到Environment variables(环境变量)选项
  • 添加环境变量:GOOGLE_APPLICATION_CREDENTIALS=/你的凭据文件绝对路径
  • 保存配置后重新运行程序

3. 确认凭据路径的有效性

确保使用的是绝对路径,且文件真实存在:

  • 执行以下命令验证:
    ls $GOOGLE_APPLICATION_CREDENTIALS
    
    若输出文件名则路径正确;若提示文件不存在,检查路径拼写,若路径包含空格,需用引号包裹(例如"/Users/xxx/My Folder/cred.json")

4. 代码中显式指定凭据路径(临时测试)

若环境变量配置始终无效,可在代码中直接指定凭据路径,排查是否为环境变量读取问题:

import com.google.auth.oauth2.GoogleCredentials;
import com.google.cloud.aiplatform.v1.PredictionServiceClient;
import com.google.cloud.aiplatform.v1.PredictionServiceSettings;
import java.io.FileInputStream;

public class PredictImageClassificationSample {
    public static void main(String[] args) throws Exception {
        // 替换为你的凭据文件绝对路径
        String credentialsPath = "/Users/xxx/your-credential-file.json";
        GoogleCredentials credentials = GoogleCredentials.fromStream(new FileInputStream(credentialsPath));
        PredictionServiceSettings settings = PredictionServiceSettings.newBuilder()
                .setCredentialsProvider(() -> credentials)
                .build();

        try (PredictionServiceClient client = PredictionServiceClient.create(settings)) {
            // 保留原有的业务逻辑代码
        }
    }
}

5. 使用gcloud命令获取应用默认凭据

若环境变量方式始终有问题,可通过gcloud命令生成默认凭据:

gcloud auth application-default login

执行命令后,按提示在浏览器中登录Google账号,认证完成后,程序会自动读取生成的默认凭据文件,无需手动设置环境变量。

内容的提问来源于stack exchange,提问作者Benjamin Faershtein

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 08:47:39