Installation

Axyra Sheets is not published to Maven Central. Declare the repository below alongside the dependency, or your build will fail to resolve it.

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.FL.20261013-Eval</version>
</dependency>

Gradle

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

implementation "io.keikai:axyra-sheets:1.0.0-Beta.FL.20261013-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.

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