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.