为了账号安全,请及时绑定邮箱和手机立即绑定

Jasper 报告无法在没有 X11 的 Linux 服务器上运行:“初始化图形环境时出错。”

Jasper 报告无法在没有 X11 的 Linux 服务器上运行:“初始化图形环境时出错。”

www说 2022-10-20 17:08:00
我有一个大问题。我正在编写一个使用 Jasperreports 的应用程序。当我在本地工作时,一切都很好。但是,当我对我的应用程序进行 docker 化时,当我运行应该生成 PDF 文件的方法时,我收到一个错误:Request processing failed; nested exception is net.sf.jasperreports.engine.JRRuntimeException: Error initializing graphic environment.我发现运行我的应用程序-DJava.awt.headless=true问题会自行解决。但事实并非如此。这是它在中的样子Dockerfile:ENTRYPOINT [ "java", "-Djava.awt.headless=true", "-jar", "/var/generator/generator-0.0.1-SNAPSHOT.jar" ]为了确保我没有忘记任何东西,这里是生成 PDF 文件的方法的代码,也许那里有问题......错误来自这一行:mainReport = JasperFillManager.fillReport(report, invoiceMap, new JREmptyDataSource());
查看完整描述

2 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

这看起来像是缺少字体的问题。

如果您碰巧使用的是 Alpine,那么您可能会看到问题 #73,它具有相同的相关堆栈跟踪。根据该问题,安装ttf-dejavu软件包应该可以解决您的问题。

将此添加到您的 dockerfile:

RUN apk add ttf-dejavu


查看完整回答
反对 回复 2022-10-20
?
慕运维8079593

TA贡献1876条经验 获得超5个赞

我可以通过安装 fontconfig 和 urw-fonts 包来解决这个问题。

yum install fontconfig
yum install urw-fonts

github问题


查看完整回答
反对 回复 2022-10-20
  • 2 回答
  • 0 关注
  • 258 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号