2016-02-05 2 views
1

У меня есть бот Twitter (написанный на Scala), который я пытаюсь настроить на сервере AWS, работая с AMI Amazon Linux AMI.Scala Chart (JFreeChart) не работает на сервере AWS

Бот создает диаграмму, используя Scala Chart (которая является оберткой JFreeChart) и отправляет диаграмму в Twitter.

Я создал исполняемый файл бота с помощью SBT, и его запуск на моей локальной машине отлично работает. Однако, когда я запускаю его на AWS, все работает, кроме генерации диаграммы. Я не получаю сообщение об ошибке, пока не попытаюсь опубликовать ссылку на диаграмму, когда обнаруживаю, что локальный файл не существует.

Я запускаю последнюю версию Java на ec2 (1.7.0._91) и не могу думать о том, что происходит не так.

Разве AWS не позволяет фоновым процессам генерировать изображения по какой-либо причине?

ответ

0

Нет, ваш экземпляр EC2 является вашим, как вам удобно. Но я бы предположил, что, будучи безголовым сервером, может отсутствовать шрифт или графический ресурс, требуемый JFreeChart. Рассмотрите возможность установки среды рабочего стола или тестирования на виртуальной машине без графики.

+0

Я думал, что все необходимое для JFreeChart будет включено в его JAR, который находится на экземпляре EC2 (вместе со всем, что нужно боту). – glcohen

+0

Может быть, просто угадывая здесь, вы также можете попробовать запустить JVM в режиме безголового (-Djava.awt.headless = true) для подтверждения. Кроме того, убедитесь, что версии виртуальных машин и библиотек совпадают с локальными. –

Смежные вопросы