Skip to content
Image docs1.0

JDK 25 JVips JNI Backend (legacy java21 artifact)

Latest stable Based on Image release 1.0.0

bluetape4k-images-vips-java21 implements the common Vips contracts with JVips/JNI. The artifact and package names remain java21 for compatibility; this release line requires JDK 25.

Install libvips on the target host and make its shared libraries visible to the JVM. Linux and macOS packaging differ; run a startup probe on the same image used for production. The module compiles and tests with a JDK 25 toolchain.

Initialize JVipsRuntime, load an image, close every JVipsImage, and shut the runtime down after workers drain. The module implements loading from paths, bytes and Okio sources, resize, thumbnail, crop, and JPEG/PNG/WebP/AVIF writers supported by the installed native stack.

The common API should remain the application-facing type. Keep JVipsImage and JVips binding details inside the backend adapter.

The release build isolates native tests with forkEvery = 1 and maxParallelForks = 1. Preserve this because JNI and native global state can survive between tests. A missing library, unsupported codec, excessive pixel count, or use after runtime shutdown should fail explicitly.

Compare with JDK 25 FFM only on equivalent hosts and fixtures.