我有一个自助服务终端程序,可以在屏幕上写一些文本。在我的Ubuntu 18笔记本电脑上运行正常。为了减少开销,我在仅运行X.org(+ xterm)的Raspberry Pi 3b上使用Arch Linux来启动我的程序。但是它失败了,没有任何可用的信息:
java.io.IOException:读取字体数据时出现问题。在java.desktop / java.awt.Font.createFont0(Font.java:1177)在java.desktop / java.awt.Font.createFont(Font.java:1046)在code.Frame(Frame.java:146)在code.Main.main(Main.java:58)
机器正在运行jre-openjdk 13
,并且从JAR加载了字体。
我已经尝试将java.io.tmpdir
更改为绝对可写的目录。我也将所有文件都小写。
基本结构是:
这是我的代码:
Font.createFont(Font.TRUETYPE_FONT, Main.class.getResourceAsStream("/resources/roboto_bold.ttf"))
知道这个问题是什么或如何调试它?
您需要一个类似的结构:
src:
com.company
Main.java
resources
roboto_bold.ttf