Installation
Maven and Gradle coordinates, the artifacts in a release, and building from source.
Maven#
<dependency>
<groupId>com.eqixiac.equinix</groupId>
<artifactId>equinix-sdk-java</artifactId>
<version>3.0.0</version>
</dependency>Gradle#
dependencies {
implementation("com.eqixiac.equinix:equinix-sdk-java:3.0.0")
}Version 3.0.0 is the current release on Maven Central. Sections of this site labelled New in 4.0 describe the 4.0 development tree, which has to be built from source until 4.0.0 is published.
Release artifacts#
Each GitHub release carries four jars.
| Artifact | Content |
|---|---|
equinix-sdk-java-X.Y.Z.jar | The library |
equinix-sdk-java-X.Y.Z-sources.jar | Sources |
equinix-sdk-java-X.Y.Z-javadoc.jar | Javadoc |
equinix-sdk-java-X.Y.Z-mcp-server.jar | The self-contained MCP server, started with java -jar |
The MCP Java SDK and the slf4j-simple binding are declared <optional> in the POM, so a project that depends on the library does not inherit them. The architecture test DependencyHygieneTest fails the SDK build if either dependency loses that declaration.
Logging#
The SDK logs through the SLF4J API and ships no binding, so the application supplies the binding it already uses. At DEBUG the HTTP client logs request and response bodies with client_secret, passwords and access, refresh and subject tokens masked. Every request carries an X-Correlation-Id header, and the same identifier appears in the log lines and on any exception raised for that request.
Build from source#
git clone https://github.com/iantjones/equinix-java-sdk.git
cd equinix-java-sdk
mvn clean package -DskipTestsThe build writes the library jar, the sources and Javadoc jars and the -mcp-server.jar to target/. mvn install -DskipTests puts the snapshot in the local Maven repository. The build requires JDK 21: Lombok 1.18.42, which the build uses as an annotation processor, did not run on JDK 27 when this page was written on 2026-11-12.
A first request#
import com.eqixiac.equinix.Fabric;
import com.eqixiac.equinix.core.auth.BasicEquinixCredentials;
import com.eqixiac.equinix.fabric.model.Metro;
Fabric fabric = new Fabric(new BasicEquinixCredentials("CLIENT_ID", "CLIENT_SECRET"));
for (Metro metro : fabric.metros().list()) {
System.out.println(metro.metroId() + " " + metro.getName());
}The client requests an OAuth token on the first call. Authentication covers the credential options.