Java 21 JVips Backend
Latest stable Based on Image release 0.3.0
bluetape4k-images-vips-java21 implements the common Vips contracts with JVips/JNI. Choose it when the application must run on JDK 21 and can supply system libvips.
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 Java 21 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 Java 25 FFM only on equivalent hosts and fixtures.