项目导出为jar遇到java.io.IOException: Problem reading font data

Maven项目导出为jar后运行测试,发现本地IDE可以运行的项目使用jar无法运行,出现

shell 复制代码
java.io.IOException: Problem reading font data

网上搜索发现问题大都由于找不到对应的资源,经过最终调试问题解决,附代码:

【修改前】
字体存放路径: src/main/resources/fonts/QingNiaoxingshu.ttf

java 复制代码
File fontFile = new File("src/main/resources/fonts/QingNiaoxingshu.ttf");
Font font = Font.createFont(Font.TRUETYPE_FONT, fontFile ).deriveFont(60f);

【修改后】
项目在jar中无法直接访问获取,但可以通过其他方法从jar中获取资源文件,原路径对应jar访问路径:fonts/QingNiaoxingshu.ttf (fonts前不加/)

java 复制代码
InputStream awardFontFile = getClass().getResourceAsStream("fonts/QingNiaoxingshu.ttf");
Font awardFont = Font.createFont(Font.TRUETYPE_FONT, awardFontFile).deriveFont(120f).deriveFont(Font.BOLD);
相关推荐
AI视觉网奇3 小时前
ue5 自定义 actor ac++ actor 用法实战
java·c++·ue5
光明顶上的5G3 小时前
本地缓存面试重点
java·缓存·面试
haluhalu.3 小时前
深入理解Linux线程机制:线程概念,内存管理
java·linux·运维
jiaguangqingpanda3 小时前
Day22-20260118
java·开发语言
雪碧聊技术3 小时前
1、LangChain4j 名字的寓意
java·大模型·langchain4j
风生u3 小时前
bpmn 的理解和元素
java·开发语言·工作流·bpmn
派大鑫wink4 小时前
【Day34】Servlet 进阶:会话管理(Cookie vs Session)
java·开发语言·学习方法
多米Domi0114 小时前
0x3f 第35天 电脑硬盘坏了 +二叉树直径,将有序数组转换为二叉搜索树
java·数据结构·python·算法·leetcode·链表
zqmattack4 小时前
SQL优化与索引策略实战指南
java·数据库·sql
crossaspeed4 小时前
Java-线程池(八股)
java·开发语言