2016-02-05 24 views
1

我有一个Twitter机器人(用Scala编写),我试图在运行亚马逊Linux AMI的AWS服务器中设置。斯卡拉图表(JFreeChart)不适用于AWS服务器

机器人使用Scala Chart(这是一个JFreeChart包装器)生成图表并将图表发布到Twitter。

我已经使用SBT构建了bot的可执行文件,并且在本地机器上运行它可以完美地工作。但是,当我在AWS上运行它时,除了图表生成外,一切都可以使用。直到我尝试将链接发布到图表时,才发现错误消息,当我发现本地文件不存在时。

我正在ec2上运行Java的最新版本(1.7.0._91),并且无法想出发生了什么问题。

由于某些原因,AWS不允许后台进程生成映像吗?

回答

0

不,您的EC2实例是您自己使用的。但我猜想,作为一个无头的服务器,它可能缺乏JFreeChart所需的字体或图形资源。考虑安装桌面环境或在无图形虚拟机中测试。

+0

我认为JFreeChart所需的一切都会包含在EC2实例的JAR中(以及bot所需的一切)。 – glcohen

+0

也许,只是在这里猜测,你也可以尝试在无头模式下运行你的JVM(-Djava.awt.headless = true)来确认。另外,请检查VM和库版本是否与本地相同。 –