Using Java Advanced Imaging with Maven

jai, java, maven-2

Solution

What I failed to see was that the JAI dependency needed to be satisfied only at runtime, and therefore I made sure the production environment has access to JAI, by configuring it for Tomcat.

Problem

The JAI setup is quite tedious, involving multiple jars and environment variables. It would aid the project's portability quite a lot if I could add it as a regular Maven dependency. The POM snippet I'm using is ``` <dependency> <groupId>com.sun.media</groupId> <artifactId>jai_imageio</artifactId> <version>1.1</version> </dependency> ``` and the errors are ``` [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Failed to resolve artifact. Missing: ---------- 1) com.sun.media:jai_imageio:jar:1.1 2) javax.media:jai_core:jar:1.1.3 ``` I can, of course, download and install those jars. The problem is twofold: - jai_imageio requires two jars; - jai_imageio requires a native library to be installed and two environment variables to be set. I have not found a way to make this work with Maven. See Reading JCS_YCCK images using ImageIO for the reason I'm using JAI.

Original source