我想在我的Grails应用程序中使用ImageMagick。我在BuildConfig.groovy中使用以下依赖项
compile('jmagick:jmagick:6.6.9')
compile('org.im4java:im4java:1.2.0')
但是,当我尝试运行时,出现此错误:
org.im4java.core.CommandException: java.io.IOException: Cannot run program
"convert": error=2, No such file or directory.
如何在不直接安装Grails的情况下使用ImageMagick或Jmagick,我是否缺少某些依赖项?
最佳答案
jmagick和im4java使用两种不同的方法来使用ImageMagick。简而言之,jmagick使用Java INI来访问ImageMagick API,im4java调用ImageMagick工具。换句话说,jmagick bundle ImageMagick,而im4java则不 bundle 。您可能知道,该错误是由于ImageMagick未安装或不在环境PATH中引起的。
im4java
两者不在一起。例如,您不能使用im4java调用jmagick,以避免在托管Grails应用程序的计算机上安装ImageMagick。要使用im4java,您需要安装ImageMagick。
mag
由于jmagick部分用C实现,因此在Servlet容器中使用可能会出现问题。这肯定会使Web应用程序不可移植。可能的工作是让Servlet容器提供为该平台编译的jmagick,并将jmagick从war文件中排除。不要问我怎么做:)