Installation

Axyra Sheets is not published to Maven Central. Choose the public evaluation build or the authenticated Enterprise Edition (EE) build, and declare its repository alongside the dependency.

Evaluation build

Use 1.0.0-Beta-Eval to evaluate Axyra Sheets without repository credentials.

Maven

<repositories>
    <repository>
        <id>keikai-eval</id>
        <url>https://mavensync.zkoss.org/eval</url>
    </repository>
</repositories>

<dependency>
    <groupId>io.keikai</groupId>
    <artifactId>axyra-sheets</artifactId>
    <version>1.0.0-Beta-Eval</version>
</dependency>

Gradle

repositories {
    mavenCentral()
    maven { url "https://mavensync.zkoss.org/eval" }
}

implementation "io.keikai:axyra-sheets:1.0.0-Beta-Eval"

The -Eval version is an evaluation build. Until a license key is installed it runs in Evaluation Mode: saved, rendered, and exported output carries the evaluation marks, and one process may perform at most 100 opens, saves, renders, and streaming workbook creations combined. See Licensing and Evaluation.

Enterprise Edition

EE customers can use 1.0.0-Beta from the authenticated Keikai repository:

<repositories>
    <repository>
        <id>keikai-ee</id>
        <url>https://maven.zkoss.org/repo/keikai/ee</url>
    </repository>
</repositories>

<dependency>
    <groupId>io.keikai</groupId>
    <artifactId>axyra-sheets</artifactId>
    <version>1.0.0-Beta</version>
</dependency>

Keep repository credentials out of pom.xml. Configure a Maven server with the matching keikai-ee ID in ~/.m2/settings.xml, or use your build system’s credential store. For Gradle, use the same repository URL with authenticated Maven repository credentials.

The released artifacts are available in the Eval repository and the authenticated EE repository.

The native library

The engine is a native library. The Java library locates it on the classpath, at /native/<os>-<arch>/, and extracts it on first use:

Classpath path Platform
/native/osx-aarch64/libaxyra_jni.dylib macOS on Apple Silicon
/native/osx-x86_64/libaxyra_jni.dylib macOS on Intel
/native/linux-x86_64/libaxyra_jni.so Linux, glibc, x86-64
/native/linux-aarch64/libaxyra_jni.so Linux, glibc, aarch64
/native/windows-x86_64/axyra_jni.dll Windows, x86-64

The published JAR bundles these libraries, so the Maven or Gradle dependency above is sufficient. A thin JAR built directly from source does not contain them; for that case, place the required library at the matching classpath path or use the development override below.

Verify every platform you run on. Developers on Apple Silicon with CI on Linux x86-64 is the common pair, and a missing platform fails only at runtime, not at build time.

For local development against a cargo build output, skip the classpath entirely:

-Daxyra.native.path=/path/to/libaxyra_jni.dylib

See Native Library Loading for the resolution order and the failure modes.

Dependencies

The Java library pulls in jackson-databind — the Java and native sides exchange structured values (styles, charts, pivot definitions, filters) as JSON across the JNI boundary. If your application pins a different Jackson version, the library works with any 2.x that is API-compatible.

Java version

Java 17 or later. The API uses sealed interfaces (CellValue) and records (ImportOptions), so earlier versions will not compile against it.

Verifying the install

import io.keikai.axyra.sheets.Workbook;
import io.keikai.axyra.sheets.formula.Functions;

public class Verify {
    public static void main(String[] args) {
        try (Workbook wb = Workbook.create()) {
            System.out.println("engine up, " + Functions.count() + " formula functions");
            System.out.println("license: " + Workbook.licenseStatus());
        }
    }
}

If this prints a function count, the native library loaded correctly.

Get code at GitHub