javaspring-bootmavengoogle-cloud-platformdependencies

How to properly add spring-cloud-gcp-starter dependency in Spring Boot Maven project?


How to properly add Google Cloud Storage dependency in Spring Boot Maven project?


I'm trying to integrate Google Cloud Storage into my Spring Boot backend project using Maven, but I'm running into issues.

Here’s what I tried:

pom.xml snippet:

<dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>spring-cloud-gcp-starter-storage</artifactId>
</dependency>

But this gives me red highlight error in the IDE saying that it cannot find the artifact.

I also tried adding a version manually, but it still doesn’t resolve:

<dependency>
    <groupId>com.google.cloud</groupId>
    <artifactId>spring-cloud-gcp-starter-storage</artifactId>
    <version>1.2.8.RELEASE</version> <!-- I tried a few -->
</dependency>

I’m using:


What I want to do:

Just connect to Google Cloud Storage, upload or download files from my backend code.


What errors I get:


What I need:

Any working setup or step-by-step configuration would be really helpful 🙏


Let me know if you want a simpler or shorter version too. Would you like me to post this for you or help tweak it more?


Solution

  • From spring cloud for GCP documentation, for SpringBoot 3.4.5

    Add Maven Properties as below :

    <properties>
        <java.version>17</java.version>
        <spring-cloud-gcp.version>6.1.1</spring-cloud-gcp.version>
        <spring-cloud.version>2024.0.1</spring-cloud.version>
      </properties>
    

    Step 2 : Add Dependency Management or BOM for GCP:

    <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>
    

    Step 3 : Add dependecy for gcp starter storage <version> tag is not required as it will come from spring GCP BOM

    <dependency>
      <groupId>com.google.cloud</groupId>
      <artifactId>spring-cloud-gcp-starter-storage</artifactId>
    </dependency>
    

    This should work for you