项目导出为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);
相关推荐
赶路人儿2 分钟前
UTC时间和时间戳介绍
java·开发语言
dreamread3 分钟前
【SpringBoot整合系列】SpringBoot3.x整合Swagger
java·spring boot·后端
6+h4 分钟前
【java】基本数据类型与包装类:拆箱装箱机制
java·开发语言·python
一直都在57219 分钟前
Spring面经
java·后端·spring
xiaoye370820 分钟前
如何在Spring中使用注解配置Bean的生命周期回调方法?
java·spring
闻哥44 分钟前
深入Redis的RDB和AOF两种持久化方式以及AOF重写机制的分析
java·数据库·spring boot·redis·spring·缓存·面试
jgyzl1 小时前
2026.3.12 常见的缓存读写策略
java·后端·spring
ruanyongjing1 小时前
Spring TransactionTemplate 深入解析与高级用法
java·数据库·spring
fengxin_rou1 小时前
[Redis从零到精通|第六篇]:Redis的主从同步
java·数据库·redis·缓存
zhglhy1 小时前
Java系统限流方法技术优劣
java·限流