项目导出为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);
相关推荐
随遇而安zx几秒前
【地基篇】---JVM 类加载 源码解析(基于 Java 8)
java·jvm·python
liudashuang20172 分钟前
【无标题】
java
这是程序猿7 分钟前
高校宿舍信息管理系统小程序
java·小程序·毕业设计
小宇宙清歡渡13 分钟前
Java Stream 流全面实战指南(Spring Boot 3 + JDK 17)
java·springboot·stream流
不爱吃米饭_23 分钟前
Apache PDFBox Java PDF处理库
java
mldong26 分钟前
流程图上没画人,单子却走对了:工作流引擎内置处理人解析器
java·架构
tanzongbiao1 小时前
Dorado7文件上传 解决HttpServletResponse返回值中文乱码的问题
java·服务器·前端
茶本无香3 小时前
Arthas 实战:线上“看 Map”的四种武器
java·map·arthas·线上定位
霸道流氓气质3 小时前
Spring AI异常处理与重试机制
java·人工智能·spring
郑州光合科技余经理5 小时前
本地生活服务系统:成品模块和定制接口怎么划界
java·前端·人工智能·后端·系统架构·php·ai编程