Да, есть способ загрузить файл учетных данных Json из приложений Java.
Пожалуйста, обратитесь к приведенному ниже фрагменту кода, чтобы создать объект Pipeline с программной ссылкой Google для учетных данных, загруженной программно.
//create scope list with DataFlow's scopes
Set<String> scopeList = new HashSet<String>();
scopeList.addAll(DataflowScopes.all());
//create GoogleCredentials object with Json credential file & the scope collection prepared above
GoogleCredentials credential = GoogleCredentials
.fromStream(new FileInputStream("path-to-credential-json-file"))
.createScoped(scopeList);
//create default pipeline
PipelineOptions options = PipelineOptionsFactory.create();
//assign the credential
options.as(GcpOptions.class).setGcpCredential( credential);
Pipeline pipeLine = Pipeline.create(options);
Этот подход может помочь вам не зависеть от переменной среды GOOGLE_APPLICATION_CREDENTIALS.
Это сработало в моей среде, пожалуйста, сообщите мне, если у вас возникнут какие-либо проблемы с этим.