tomcat - War 安装失败,因为未设置 Image Magic Home 环境变量(尽管我另有声明)

标签 tomcat grails imagemagick centos war

作为 grails/groovy/maven/tomcat 等的(极端)新手,我努力设置一个 CentOS 盒子来运行 grails 应用程序。我正在使用 VMWare Fusion、CentOS 5.8、Grails 1.3.2、ImageMagick-6.2.8、Tomcat 6.0.35。我选择安装 Sun 的 Java。

生成 War 文件后,我将其复制到 Tomcat 的 webapps 目录中。

就在那时,我看到在 catalina.out 中生成了以下错误:

2012-03-28 08:00:20,676 [ContainerBackgroundProcessor[StandardEngine[Catalina]]] ERROR context.ContextLoader  - Context initialization failed
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'grailsApplication' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is java.lang.ExceptionInInitializerError: Please set Image Magic Home environment variable first
    at java.lang.Thread.run(Thread.java:722)
Caused by: java.lang.ExceptionInInitializerError: Please set Image Magic Home environment variable first
    at SendFaxService.(SendFaxService.groovy:41)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:264)

我认为错误的相关部分是:请先设置 Image Magic Home 环境变量

考虑到这一点,我执行了 yum install ImageMagick。我用谷歌搜索了 Image Magic 环境变量,看到一个名为“$MAGICK_HOME”的变量,所以我执行了 export MAGICK_HOME="/usr/share/ImageMagick-6.2.8",并将其放入 root 的 .bashrc 中文件。重新启动后,我的用户和 root 似乎都可以执行 echo $MAGICK_HOME 并获得正确的值。

当我将 war 文件放入 webapps 文件夹时,我仍然会生成相同的错误行。

所以我问你善良的互联网居民,我做了什么值得这个?

实际上,只要告诉我如何修复它即可。谢谢!

最佳答案

即使 Tomcat 以 root 身份运行,并且 root 可以看到 MAGICK_HOME 环境变量,Tomcat 在尝试安装依赖于 ImageMagick 的 war 时仍然不能。

我直接在catalina.sh的最前面添加了export语句:

export MAGICK_HOME=/usr/share/ImageMagick-6.2.8

瞧,成功了。可能有更好的解决方案,它不涉及这种毫不掩饰的黑客行为。请提交它,我很乐意将其标记为最佳解决方案。

关于tomcat - War 安装失败,因为未设置 Image Magic Home 环境变量(尽管我另有声明),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9916927/

相关文章:

java - Tomcat 7.0.32 无法部署我的项目

grails - 如何在createCriteria中修剪属性

python - 使用opencv阈值图像以获得与imagemagick相同的结果

docker - Docker Alpine中的ImageMagick安装

jsp - 从 iFrame 内传播时,HttpServletRequest 属性丢失

tomcat - Vaadin 与 maven 项目部署在 tomcat 中

java - Tomcat 应用程序 404 无法加载 - 上下文路径中的应用程序无法启动

spring - Quartz 作业中的 Grails 事务

eclipse - 为什么我升级的Grails项目有红色感叹号?

java - 识别 Png 图像是否具有 100% 透明背景