Военная установка не удалась, потому что не установлена ​​переменная среды домашнего окружения Image Magic (хотя я утверждаю иначе) - PullRequest
1 голос
/ 29 марта 2012

Будучи (экстремальным) новичком в 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.

Именно в этот момент я вижу следующую ошибку, сгенерированную в catalina.out:

<code>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 Environment и увидел переменную с именем $ MAGICK_HOME, поэтому я выполнил export MAGICK_HOME="/usr/share/ImageMagick-6.2.8" и также поместил ее в файл root .bashrc.После перезапуска кажется, что и мой пользователь, и пользователь root могут выполнить echo $MAGICK_HOME и получить правильное значение.

Я по-прежнему получаю те же строки ошибок, сгенерированные, когда помещаю файл war в папку webapps.

Поэтому я спрашиваю вас, добрый интернет-обитатель, что я сделал, чтобы заслужить это?

На самом деле, просто скажите мне, как это исправить.Спасибо!

1 Ответ

0 голосов
/ 09 мая 2012

Несмотря на то, что Tomcat работал от имени пользователя root, и root может видеть переменную среды MAGICK_HOME, Tomcat все равно не смог при попытке установить войну, которая зависела от ImageMagick.

Я добавил оператор экспорта прямо в начало catalina.sh:

export MAGICK_HOME=/usr/share/ImageMagick-6.2.8

Вуаля, это сработало. Вероятно, есть лучшее решение, которое не включает в себя такие беззастенчивые хакерские атаки. Пожалуйста, отправьте его, и я с удовольствием отмечу его как лучшее решение.

...