Error creating bean with name googleCredentials defined in class path resource

I have a project where i am calling Google Cloud Storage API from Firebase Cloud FireStore API. This is my Firebase code before adding the Google Cloud Storage dependencies.

This is my main class

package com.example.firebase.springbootfirebasedemo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class SpringbootFirebaseDemoApplication { public static void main(String[] args) { SpringApplication.run(SpringbootFirebaseDemoApplication.class, args); } }

This is my REST Controller

package com.example.firebase.springbootfirebasedemo.controller; import com.example.firebase.springbootfirebasedemo.entity.Review; import com.example.firebase.springbootfirebasedemo.service.ReviewService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; import java.util.List; import java.util.concurrent.ExecutionException; @RestController @RequestMapping("/api") public class ReviewController { @Autowired private ReviewService reviewService; @PostMapping("/reviews") public String saveReview(@RequestBody Review review) throws ExecutionException, InterruptedException { return reviewService.saveReview(review); } @GetMapping("/reviews/{name}") public Review getReview(@PathVariable String name) throws ExecutionException, InterruptedException { return reviewService.getReviewDetailsByname(name); } @GetMapping("/reviews") public List<Review> getAllReviews() throws ExecutionException, InterruptedException { return reviewService.getAllReviews(); } @PutMapping("/reviews") public String updateReview(@RequestBody Review review) throws ExecutionException, InterruptedException { return reviewService.updateReview(review); } @DeleteMapping("/reviews/{name}") public String deleteReview(@PathVariable String name) throws ExecutionException, InterruptedException { return reviewService.deleteReview(name); } }

This is my Service class

package com.example.firebase.springbootfirebasedemo.service; import com.example.firebase.springbootfirebasedemo.entity.Review; import com.google.api.core.ApiFuture; import com.google.cloud.firestore.DocumentReference; import com.google.cloud.firestore.DocumentSnapshot; import com.google.cloud.firestore.Firestore; import com.google.cloud.firestore.WriteResult; import com.google.firebase.cloud.FirestoreClient; import org.springframework.stereotype.Service; import java.util.ArrayList; import java.util.Iterator; import java.util.List; import java.util.concurrent.ExecutionException; @Service public class ReviewService { private static final String COLLECTION_NAME ="Reviews"; public String saveReview(Review review) throws ExecutionException, InterruptedException { Firestore dbFirestore= FirestoreClient.getFirestore(); ApiFuture<WriteResult> collectionApiFuture=dbFirestore.collection(COLLECTION_NAME).document(review.getName()).set(review); return collectionApiFuture.get().getUpdateTime().toString(); } public Review getReviewDetailsByname(String name) throws ExecutionException, InterruptedException { Firestore dbFirestore= FirestoreClient.getFirestore(); DocumentReference documentReference=dbFirestore.collection(COLLECTION_NAME).document(name); ApiFuture<DocumentSnapshot> future=documentReference.get(); DocumentSnapshot document=future.get(); Review review=null; if(document.exists()) { review = document.toObject(Review.class); return review; }else{ return null; } } public List<Review> getAllReviews() throws ExecutionException, InterruptedException { Firestore dbFirestore= FirestoreClient.getFirestore(); Iterable<DocumentReference> documentReference=dbFirestore.collection(COLLECTION_NAME).listDocuments(); Iterator<DocumentReference> iterator=documentReference.iterator(); List<Review> reviewList=new ArrayList<>(); Review review=null; while(iterator.hasNext()){ DocumentReference documentReference1=iterator.next(); ApiFuture<DocumentSnapshot> future= documentReference1.get(); DocumentSnapshot document=future.get(); review=document.toObject(Review.class); reviewList.add(review); } return reviewList; } public String updateReview(Review review) throws ExecutionException, InterruptedException { Firestore dbFirestore= FirestoreClient.getFirestore(); ApiFuture<WriteResult> collectionApiFuture=dbFirestore.collection(COLLECTION_NAME).document(review.getName()).set(review); return collectionApiFuture.get().getUpdateTime().toString(); } public String deleteReview(String name) throws ExecutionException, InterruptedException { Firestore dbFirestore= FirestoreClient.getFirestore(); ApiFuture<WriteResult> collectionApiFuture=dbFirestore.collection(COLLECTION_NAME).document(name).delete(); return "Document with Review ID "+name+" has been deleted successfully"; } }

This is my Entity Class

package com.example.firebase.springbootfirebasedemo.entity; public class Review { private String name; private String description; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getDescription() { return description; } public void setDescription(String description) { this.description = description; } }

This is a class which reads the google service account key

package com.example.firebase.springbootfirebasedemo.firebase; import com.google.auth.oauth2.GoogleCredentials; import com.google.firebase.FirebaseApp; import com.google.firebase.FirebaseOptions; import org.springframework.stereotype.Service; import javax.annotation.PostConstruct; import java.io.FileInputStream; import java.io.FileNotFoundException; @Service public class FirebaseInitialization { @PostConstruct public void initialization(){ FileInputStream serviceAccount = null; try { serviceAccount = new FileInputStream("./serviceAccountKey.json"); FirebaseOptions options = new FirebaseOptions.Builder() .setCredentials(GoogleCredentials.fromStream(serviceAccount)) .build(); FirebaseApp.initializeApp(options); } catch (Exception e) { e.printStackTrace(); } } }

This is my pom.xml

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.2</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example.firebase</groupId> <artifactId>springboot-firebase-demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springboot-firebase-demo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- https: <dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>7.1.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>

So far so good. I was able to call my REST API and perform CRUD operation on my Firestore DB. Now i need to call the Google cloud storage API from my Firebase API. For this i added the Google Cloud Storage dependencies.

My new pom.xml after adding the Google cloud storage dependencies.

<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.4.2</version> <relativePath/> <!-- lookup parent from repository --> </parent> <groupId>com.example.firebase</groupId> <artifactId>springboot-firebase-demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>springboot-firebase-demo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> <spring-cloud-gcp.version>2.0.4</spring-cloud-gcp.version> <spring-cloud.version>2020.0.4</spring-cloud.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.google.cloud</groupId> <artifactId>spring-cloud-gcp-starter-storage</artifactId> </dependency> <!-- https: <dependency> <groupId>com.google.firebase</groupId> <artifactId>firebase-admin</artifactId> <version>7.1.0</version> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-dependencies</artifactId> <version>${spring-cloud.version}</version> <type>pom</type> <scope>import</scope> </dependency> <dependency> <groupId>com.google.cloud</groupId> <artifactId>spring-cloud-gcp-dependencies</artifactId> <version>${spring-cloud-gcp.version}</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>

Now after adding the dependencies and running the server i was getting the following errors.

:: Spring Boot :: (v2.5.5) 2021-09-30 14:31:05.912 INFO 8540 --- [ main] .e.f.s.SpringbootFirebaseDemoApplication : Starting SpringbootFirebaseDemoApplication using Java 15.0.2 on DELL-PC with PID 8540 (D:\Downloads\Eclipse\eclipse-workspace\springboot-firebase-movie-review\target\classes started by User in D:\Downloads\Eclipse\eclipse-workspace\springboot-firebase-movie-review) 2021-09-30 14:31:05.929 INFO 8540 --- [ main] .e.f.s.SpringbootFirebaseDemoApplication : No active profile set, falling back to default profiles: default 2021-09-30 14:31:07.571 ERROR 8540 --- [ main] o.a.catalina.core.AprLifecycleListener : An incompatible version [1.1.17-dev] of the Apache Tomcat Native library is installed, while Tomcat requires version [1.2.14] 2021-09-30 14:31:08.343 INFO 8540 --- [ main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http) 2021-09-30 14:31:08.383 INFO 8540 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2021-09-30 14:31:08.383 INFO 8540 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.53] 2021-09-30 14:31:08.732 INFO 8540 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext 2021-09-30 14:31:08.732 INFO 8540 --- [ main] w.s.c.ServletWebServerApplicationContext : Root WebApplicationContext: initialization completed in 2678 ms 2021-09-30 14:31:09.723 WARN 8540 --- [ main] c.g.c.s.core.DefaultCredentialsProvider : No core credentials are set. Service-specific credentials (e.g., spring.cloud.gcp.pubsub.credentials.*) should be used if your app uses services that require credentials. java.io.IOException: The Application Default Credentials are not available. They are available if running in Google Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information. at com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentials(DefaultCredentialsProvider.java:134) ~[google-auth-library-oauth2-http-0.26.0.jar:na] at com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:120) ~[google-auth-library-oauth2-http-0.26.0.jar:na] at com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:92) ~[google-auth-library-oauth2-http-0.26.0.jar:na] at com.google.api.gax.core.GoogleCredentialsProvider.getCredentials(GoogleCredentialsProvider.java:67) ~[gax-1.66.0.jar:1.66.0] at com.google.cloud.spring.core.DefaultCredentialsProvider.<init>(DefaultCredentialsProvider.java:110) ~[spring-cloud-gcp-core-2.0.4.jar:2.0.4] at com.google.cloud.spring.autoconfigure.core.GcpContextAutoConfiguration.googleCredentials(GcpContextAutoConfiguration.java:63) ~[spring-cloud-gcp-autoconfigure-2.0.4.jar:2.0.4] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:564) ~[na:na] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:944) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.10.jar:5.3.10] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.10.jar:5.3.10] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.5.5.jar:2.5.5] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-2.5.5.jar:2.5.5] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) ~[spring-boot-2.5.5.jar:2.5.5] at org.springframework.boot.SpringApplication.run(SpringApplication.java:338) ~[spring-boot-2.5.5.jar:2.5.5] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-2.5.5.jar:2.5.5] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1332) ~[spring-boot-2.5.5.jar:2.5.5] at com.example.firebase.springbootfirebasedemo.SpringbootFirebaseDemoApplication.main(SpringbootFirebaseDemoApplication.java:10) ~[classes/:na] 2021-09-30 14:31:09.775 INFO 8540 --- [ main] c.g.c.s.a.c.GcpContextAutoConfiguration : The default project ID is lustrous-braid-326814 2021-09-30 14:31:09.876 WARN 8540 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'firestoreOptions' defined in class path resource [com/google/cloud/spring/autoconfigure/firestore/GcpFirestoreAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.google.cloud.firestore.FirestoreOptions]: Factory method 'firestoreOptions' threw exception; nested exception is java.lang.RuntimeException: Failed to obtain credentials 2021-09-30 14:31:09.883 INFO 8540 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2021-09-30 14:31:09.944 INFO 8540 --- [ main] ConditionEvaluationReportLoggingListener : Error starting ApplicationContext. To display the conditions report re-run your application with 'debug' enabled. 2021-09-30 14:31:09.972 ERROR 8540 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'firestoreOptions' defined in class path resource [com/google/cloud/spring/autoconfigure/firestore/GcpFirestoreAutoConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.google.cloud.firestore.FirestoreOptions]: Factory method 'firestoreOptions' threw exception; nested exception is java.lang.RuntimeException: Failed to obtain credentials at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:658) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResolver.java:486) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(AbstractAutowireCapableBeanFactory.java:1352) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactory.java:1195) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:582) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:542) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:335) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:234) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:333) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:208) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:944) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:918) ~[spring-context-5.3.10.jar:5.3.10] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:583) ~[spring-context-5.3.10.jar:5.3.10] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:145) ~[spring-boot-2.5.5.jar:2.5.5] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:754) ~[spring-boot-2.5.5.jar:2.5.5] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:434) ~[spring-boot-2.5.5.jar:2.5.5] at org.springframework.boot.SpringApplication.run(SpringApplication.java:338) ~[spring-boot-2.5.5.jar:2.5.5] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1343) ~[spring-boot-2.5.5.jar:2.5.5] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1332) ~[spring-boot-2.5.5.jar:2.5.5] at com.example.firebase.springbootfirebasedemo.SpringbootFirebaseDemoApplication.main(SpringbootFirebaseDemoApplication.java:10) ~[classes/:na] Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [com.google.cloud.firestore.FirestoreOptions]: Factory method 'firestoreOptions' threw exception; nested exception is java.lang.RuntimeException: Failed to obtain credentials at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:185) ~[spring-beans-5.3.10.jar:5.3.10] at org.springframework.beans.factory.support.ConstructorResolver.instantiate(ConstructorResolver.java:653) ~[spring-beans-5.3.10.jar:5.3.10] ... 19 common frames omitted Caused by: java.lang.RuntimeException: Failed to obtain credentials at com.google.cloud.firestore.FirestoreOptions$Builder.build(FirestoreOptions.java:212) ~[google-cloud-firestore-2.6.1.jar:2.6.1] at com.google.cloud.spring.autoconfigure.firestore.GcpFirestoreAutoConfiguration.firestoreOptions(GcpFirestoreAutoConfiguration.java:110) ~[spring-cloud-gcp-autoconfigure-2.0.4.jar:2.0.4] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:na] at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:64) ~[na:na] at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:na] at java.base/java.lang.reflect.Method.invoke(Method.java:564) ~[na:na] at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154) ~[spring-beans-5.3.10.jar:5.3.10] ... 20 common frames omitted Caused by: java.io.IOException: The Application Default Credentials are not available. They are available if running in Google Compute Engine. Otherwise, the environment variable GOOGLE_APPLICATION_CREDENTIALS must be defined pointing to a file defining the credentials. See https://developers.google.com/accounts/docs/application-default-credentials for more information. at com.google.auth.oauth2.DefaultCredentialsProvider.getDefaultCredentials(DefaultCredentialsProvider.java:134) ~[google-auth-library-oauth2-http-0.26.0.jar:na] at com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:120) ~[google-auth-library-oauth2-http-0.26.0.jar:na] at com.google.auth.oauth2.GoogleCredentials.getApplicationDefault(GoogleCredentials.java:92) ~[google-auth-library-oauth2-http-0.26.0.jar:na] at com.google.api.gax.core.GoogleCredentialsProvider.getCredentials(GoogleCredentialsProvider.java:67) ~[gax-1.66.0.jar:1.66.0] at com.google.cloud.spring.core.DefaultCredentialsProvider.getCredentials(DefaultCredentialsProvider.java:67) ~[spring-cloud-gcp-core-2.0.4.jar:2.0.4] at com.google.cloud.firestore.FirestoreOptions$Builder.build(FirestoreOptions.java:210) ~[google-cloud-firestore-2.6.1.jar:2.6.1] ... 26 common frames omitted

Please help. Thank you.

What I have tried:

I was able to run CRUD operations without Google cloud storage dependencies. Its only after i add the dependencies, I was getting these errors after trying to run the server.