I have a desktop application written in Java/JavaFX that loads an image, performs certain modifications, then outputs the resulting image. I'm using IntelliJ to build the app, then packaging the resulting Artifact and some additional support files in .exe/.dmg installation packages using Install4J.
One requirement is that the X/Y resolution metadata be read from the input file and written to the export file. I've manage to make it work with PNG and JPG, but TIF is proving to be a problem.
For TIF metadata reading/writing, I'm using the TwelveMonkeys ImageIO plugins. Within IntelliJ, it runs great and all functions work as intended. The metadata gets properly read and written.
The problem comes after I build the Artifact, create the installer, and install/run it as a desktop app. The app loads fine, with no errors for missing classes, failed imports, etc., as far as I can tell — but the metadata doesn't get read or written.
The relevant TwelveMonkeys JARs are added as Libraries and when building the Artifact, are extracted within the Artifact JAR.
If I extract the resulting Artifact JAR to view its contents, the files appear to be in their proper places.
The fact that it works within IntelliJ but not from the distribution version leads me to think I've made a mistake in how I package the TwelveMonkeys library files within the Artifact. I'm probably missing something obvious as I'm a novice at Java/JavaFX/IntelliJ/etc., but any guidance or suggestions as to what I may be missing would be appreciated.
I have attempted to add the library files to the Artifact in various different ways, but extracting them within the Artifact JAR has been the only way that would allow the app to finish loading without generating an error due to the app being unable to load the required library files.
If there's additional information that you think would be helpful in diagnosing the problem, I can provide whatever is needed.
Thanks in advance.