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.
Runtime requirements
Section titled “Runtime requirements”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.
Programming model
Section titled “Programming model”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.
Testing and failure
Section titled “Testing and failure”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.