项目导出为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);
相关推荐
龙虾PRO7 小时前
能源与股票量化核心差异,AI全链路落地实操手册
java·面试·职场和发展
llwszx7 小时前
【Java/Go后端手撸原生Agent(第九篇):Plan-and-Execute规划模式——从“走一步看一步“到“先谋后动“】
java·python·golang·agent开发·plan模式·规划执行模式
ZJH__GO7 小时前
网络编程v2--多客户端互通
java·运维·服务器·开发语言·计算机网络
霸道流氓气质7 小时前
SpringBoot中基于 AES-GCM + KMS 密钥管理的数据加解密 Starter 实践
java·数据库·spring boot
Gofarlic_OMS7 小时前
NX浮动许可调度黑名单机制,对比两款谁更合理
java·大数据·运维·开源·制造
乐观的Terry8 小时前
8、发布系统-完整流水线的核心
java·spring boot·spring·spring cloud
Alexalbb8 小时前
从角色过滤到可审计授权:单体系统数据权限设计复盘与演进
java
雨的旋律20998 小时前
redis
java·数据库·redis
万亿少女的梦1688 小时前
基于Spring Boot的游戏交易管理系统设计与实现
java·spring boot·mysql·系统设计·交易管理
闲猫9 小时前
Agent工程实践:从WorkFlow到多Agent协作的落地笔记
java·服务器·前端