0

I am trying to upload files to oracle Object Storage using Spring Boot 3.0 and Java 17. I am getting the following exception

java.util.NoSuchElementException: No http provider available; add dependency on one of the oci-java-sdk-common-httpclient-* choices, e.g. oci-java-sdk-common-httpclient-jersey

The dependency I used:

   <dependencies>
      <dependency>
         <groupId>com.oracle.oci.sd`your text`k</groupId>
         <artifactId>oci-java-sdk-objectstorage</artifactId>
      </dependency>
   </dependencies>`
<dependencyManagement>
    <dependencies>
      <dependency>
        <groupId>com.oracle.oci.sdk</groupId>
        <artifactId>oci-java-sdk-bom</artifactId>
        <version>3.1.0</version>
        <type>pom</type>
        <scope>import</scope>
      </dependency>
    </dependencies>
  </dependencyManagement>

I was able to upload files to Object storage with Spring Boot 2.x.x and Java 11 with the above dependency.

fatihyildizhan
  • 8,614
  • 7
  • 64
  • 88
Rashid
  • 61
  • 2
  • 5

2 Answers2

0

Just add the dependency suggested in the exception's message:

<dependency>
    <groupId>com.oracle.oci.sdk</groupId>
    <artifactId>oci-java-sdk-common-httpclient-jersey</artifactId>
    <version>3.2.0</version>
</dependency>

to your pom.xml file

devwebcl
  • 2,866
  • 3
  • 27
  • 46
0

Thank you @devwebcl. oci-java-sdk-common-httpclient-jersey was required but it wasn't sufficient. I had to add following dependency additionally.

    <dependency>
        <groupId>com.oracle.oci.sdk</groupId>
        <artifactId>oci-java-sdk-addons-resteasy-client-configurator</artifactId>
    </dependency>

So if someone want to upload files to object storage from Spring Boot 3, include the three dependencies below.

<dependencies>

    <dependency>
        <groupId>com.oracle.oci.sdk</groupId>
        <artifactId>oci-java-sdk-addons-resteasy-client-configurator</artifactId>
    </dependency>

    <dependency>
        <groupId>com.oracle.oci.sdk</groupId>
        <artifactId>oci-java-sdk-objectstorage</artifactId>
    </dependency>

    <dependency>
        <groupId>com.oracle.oci.sdk</groupId>
        <artifactId>oci-java-sdk-common-httpclient-jersey</artifactId>
    </dependency>

</dependencies>

<dependencyManagement>
  <dependencies>
    <dependency>
      <groupId>com.oracle.oci.sdk</groupId>
      <artifactId>oci-java-sdk-bom</artifactId>
      <version>3.1.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
    <dependency>
      <groupId>com.oracle.oci.sdk</groupId>
      <artifactId>oci-java-sdk-common-httpclient-jersey</artifactId>
      <version>3.1.0</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>
  </dependencies>
</dependencyManagement>

    
Rashid
  • 61
  • 2
  • 5
  • I am having a similar issue, but I added these dependencies and it did not resolve. Can you take a look here? https://stackoverflow.com/questions/75981569/oci-connection-exception – Jason Chan Apr 11 '23 at 03:35