Eu estou usando Jmagick, que é uma interface para comunicar com o aplicativo ImageMagick, no Tomcat. Só que dá muito problema ele para de funcionar do nada. Mas quando é um aplicativo Java, sem estar num conteiner Web, o Jmagick roda regularmanete.
Então pensei criar um .bat ou um shell para um servlet dentro do tomcat executar estes arquivos, mas ai que ta a duvida, como faço para System.getRuntime().exec() executar eles?
Preciso da solução em Windows e Linux.
Depois de instalado o ImageMagick e o JMagick experimente colocar o jmagick.jar na instalação do java\lib\ext.
Para o Windows coloque também a jmagick.dll e para o Linux todas as .so na mesma pasta.
Como o JMagick usa JNI (Java Native Interface) para fazer uma ponte para as libs, estando na mesma pasta funcionará em servlets no TOMCAT.
Experimentei configurar o jar no CLASSPATH e as libs no LD_LIBRARY_PATH mas não obtive sucesso.
Outro detalhe é que o JMagick para Linux ainda não foi compilado para 64 bits. Assim o Linux e o JAVA devem ser compatíveis com 32 bits.
Lembre-se que o ImageMagick também depende da instalação do ghostscript.
Mas se preferir pode executar diretamente a linha de comando do ImageMagick da seguinte forma: