项目导出为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);
相关推荐
平安的平安8 分钟前
传统Java工程师第一次用飞算JavaAI生成SpringBoot项目
java
csjane107912 分钟前
Redisson 限流原理
java·redis
一个做软件开发的牛马14 分钟前
MyBatis 从零实战:完整搭建可运行 Demo,注解与 XML 双模式开发详解
java·后端
用户2986985301419 分钟前
Java 实践:查找与提取 Word 文档超链接
java·后端
Flittly20 分钟前
【AgentScope Java新手村系列】(9)SpringBoot集成
java·spring boot·spring
星环科技33 分钟前
数据标准Agent ,让企业数据说同一种语言
java·开发语言·前端
SimonKing39 分钟前
Qoder 提供免费 Qwen3.7-Max,无需订阅
java·后端·程序员
dadaobusi1 小时前
RISC-V 虚拟化:虚拟机TLB处理
java·开发语言
程序猿乐锅1 小时前
【 苍穹外卖day03 | 菜品管理 】
java·开发语言·数据库·mysql
雾削木1 小时前
B语言经典教程现代化重构
java·前端·stm32·单片机·嵌入式硬件