# openjdk-api-java-client
**Repository Path**: mirrors_AdoptOpenJDK/openjdk-api-java-client
## Basic Information
- **Project Name**: openjdk-api-java-client
- **Description**: A Java wrapper around the AdoptOpenJDK REST API
- **Primary Language**: Unknown
- **License**: Apache-2.0
- **Default Branch**: develop
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2020-08-08
- **Last Updated**: 2026-03-21
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
openjdk-api-java-client
===
[](http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22net.adoptopenjdk%22)
[](https://oss.sonatype.org/content/repositories/snapshots/net/adoptopenjdk/)
[](https://codecov.io/gh/AdoptOpenJDK/openjdk-api-java-client)
A Java client for the [AdoptOpenJDK REST API](https://api.adoptopenjdk.net/).

| JVM | Platform | Status |
|-----------------|----------|--------|
| OpenJDK LTS | Linux | [](https://github.com/AdoptOpenJDK/openjdk-api-java-client/actions?query=workflow%3Amain-openjdk_lts-linux) |
| OpenJDK Current | Linux | [](https://github.com/AdoptOpenJDK/openjdk-api-java-client/actions?query=workflow%3Amain-openjdk_current-linux)
| OpenJDK Current | Windows | [](https://github.com/AdoptOpenJDK/openjdk-api-java-client/actions?query=workflow%3Amain-openjdk_current-windows)
## Features
* Efficient, type-safe access to the AdoptOpenJDK API
* Clean API/implementation separation for easy API mocking in applications
* [JPMS](https://openjdk.java.net/projects/jigsaw/spec/)-ready
* [OSGi](https://www.osgi.org)-ready
* High coverage automated test suite
* Apache 2.0 license
* Fully documented (JavaDOC)
## Usage
Use the following Maven dependencies:
```
net.adoptopenjdk
net.adoptopenjdk.v3.api
net.adoptopenjdk
net.adoptopenjdk.v3.vanilla
```
The first dependency specifies that you want to use the API, and the second
is a basic provider for the API.
Then:
```
var clients = new AOV3Clients();
try (var client = clients.createClient()) {
var request = client.availableReleases(...);
var releases = request.execute();
}
```
The API operates entirely synchronously and raises checked exceptions on
failures.
The `net.adoptopenjdk.v3.api.AOV3ClientProviderType` interface is published
both as a JPMS service and an [OSGi service](https://www.osgi.org) in order to
allow for decoupling consumers from the `vanilla` implementation package:
```
var clients =
ServiceLoader.load(AOV3ClientProviderType.class)
.findFirst()
.orElseThrow(() -> new IllegalStateException(
String.format("No implementations of %s are available", AOV3ClientProviderType.class)));
try (var client = clients.createClient()) {
var request = client.availableReleases(...);
var releases = request.execute();
}
```