背景:
        使用spire.doc处理doc转图片,找不到字体,在win机开发一切正常,使用dockerfile部署到linux服务器,使用docker-compose启动容器时,执行报错:Handler dispatch failed; nested exception is java.lang.ExceptionInInitializerError (下面复制段报错方便各位在搜索时有结果)

Caused by: java.lang.ExceptionInInitializerError: null
    at com.spire.doc.packages.sprEec.spr  (FontFamily.java:545)
    at com.spire.doc.packages.sprEec.<clinit>(FontFamily.java:255)
    at com.spire.doc.packages.spriEc.spr  (Font.java:410)
    at com.spire.doc.packages.spriEc.<init>(Font.java:398)
    at com.spire.doc.packages.spriEc.<init>(Font.java:374)
    at com.spire.doc.packages.sprDGC.<clinit>(Unknown Source)
    at com.spire.doc.formatting.CharacterFormat.spr  (Unknown Source)
    at com.spire.doc.formatting.CharacterFormat.spr  (Unknown Source)

原因:1. docker没有创建字体管理器  2. docker中没有对应doc所需的字体

解决思路:
        1. docker中安装对应的 字体管理器  fontconfig  如果需要一些默认字体  可以考虑安装 ttf-dejavu

2. 将自己的win特殊自己 cp到docker容器里的/usr/share/fonts/下   或者  使用目录映射的方式  将docker中  /usr/share/fonts/  目录下的某个子目录映射到  你linux的字体文件里(随便创建即可),例如我就直接把 docker的 /usr/share/fonts/win(win这个目录不用额外手动创建,只需要执行命令就行) 目录映射到 宿主机的 /root/smallRoutine/fonts

解决:

1. 先改造我们的dockerfile,我百度了一天试了N多个各位大佬的答案、命令(是我太菜了,没办法区分我想要的结果)总结出一条:RUN apk update && apk add fontconfig(有写docker里是使用yum的  把对应的apk add改成 yum的方式安装即可,自己先手动去docker里测试一下你用什么命令)

测试docker是否执行命令:
                1. 先进入docker容器:7ed6c5052bd5 是容器id  (有些最后不是sh  是 /bin/bash  你们自行百度一下,反正就是进入docker容器)

docker exec -it 7ed6c5052bd5 sh

2. 测试执行apk update(进入命令末尾是sh的)图为执行结果

/bin/sh -c 'apk update'

3. 测试执行apk add fontconfig

/bin/sh -c 'apk add fontconfig'

4. 查看fonts目录是否已创建

ls /usr/share/

dockerfile:先执行apk更新  再执行 apk 安装

ok 我们解决了 第一个问题,docker缺少字体管理器。下面我们解决第二个问题,docker缺少字体

我这里使用了docker-compose,那我这边选择使用目录映射的方式

1. 我随便找了个目录,把我win下的字体拉进去

2. 改造docker-compose: 配置详解:https://www.cnblogs.com/zhujingzhi/p/9786622.html#_label5

这里是指把 /root/smallRoutine/fonts 映射到 /usr/share/fonts/win

ok 大功告成。

感谢一下分享提供的灵感:

https://blog.csdn.net/zimou5581/article/details/101368129

https://blog.zjyl1994.com/post/alpine-fontconfig/

https://stackoverflow.com/questions/61968808/docker-error-unsatisfiable-constraints

https://www.cnblogs.com/zhujingzhi/p/9786622.html#_label5

如果解决了你的问题,大佬们给个一块两块打赏呗(记得备注哟~):

java:alpine 字体 dockerdocker-compose 字体找不到 dockerfile创建镜像 找不到字体相关推荐

  1. access字体变为斜体_Linux折腾记(四):Linux桌面系统字体配置详解

    字体显示效果测试 文字: 复制代码代码如下: 这一段是为了测试宋体字的显示效果,包括宋体里面自带的英文字体,"This is english,how does it look like?&q ...

  2. HTML怎么把文字分栏_CAD设计制图底层规则之:字体及文字系统。推荐几组史上最好用的单线字体!...

    使用Autodesk的cad软件设计制图的时候,大家开个图常常碰到的最初2个对话框是这样的: 烦不烦!?这里其实还好,更烦的还在后头,打开图后文字飘了,有些字不见了,这更烦! 如何解决这个问题?呆会说 ...

  3. arial字体可以商用吗_国外顶级设计公司:PPT配色与字体使用的7条建议

    本文首发于公众号 [自律的音律] ,欢迎联系转载. 之前我给大家分享过,全球演示相关的优秀设计公司,如果没印象的话,可以点击"上哪看优秀的PPT作品-设计公司篇"回顾一下. 文章里 ...

  4. c# 通过字体对话框获取字体名称和字体大小_PS插件神器 :fonTags,超好用的PS字体管理插件(附安装方法)

    在Photoshop 中想准确找到一款字体,是特别烦人的事,今天这个神器帮你搞定这个难题!这是一款由大神开发的Photoshop 插件,可以扫描字体.自动分组.文本预览等等,功能丰富,使用方便,一起来 ...

  5. ps字体识别_PS字体包免费送:艺术+时尚+炫酷+复古等5000多款字体,由你来选择

    对设计师而言,一款优美的字体板式设计可以为平面设计增添不少光彩,充满创造力的字体设计更是能为设计师带来源源不断的设计灵感:字体设计在平面设计中占据着重要的地位,对于一般人而言,美轮美奂的字体设计绝对能 ...

  6. 模块字体不生效_新版iPhone敬业签便签软件怎么将字体调大?

    敬业签是一款功能比较全面的桌面便签软件,分为个人便签和团队协作便签,主要功能包括:云储存.多端同步.提醒待办事项.时间管理.已完成.日历月视图和时间轴等.在使用新版iPhone敬业签便签软件时,如果想 ...

  7. gt designer2不能初始化字体管理器_Windows Terminal 1.1预览版发布:新增字体粗细、随开机启动等功能...

    经历了数月的公开测试之后,微软于上月发布了 Windows Terminal 1.0 正式版.今天微软再次发布了 1.1 预览版更新,引入了包括字体粗细.随开机启动等诸多功能.Windows Term ...

  8. java.io.FileNotFoundException异常,一是“拒绝访问”,二是“系统找不到指定路径”

    java.io.FileNotFoundException异常,一是"拒绝访问",二是"系统找不到指定路径" 参考文章: (1)java.io.FileNotF ...

  9. 苹果字体怎么改_9102年了,公众号还不会换字体?

    大家好,老沙来了 带着 公众号换字体 的技巧 扑面而来! 尽管以前发过换字体的教程 但许多尤其是新来的小伙伴 仍是存在疑问 今天老沙带来2个教程 分别用来换中文和英文字体 首先老沙要来给大家普及一下 ...

最新文章

  1. 计算起点地址和终点地址的最短驾车距离和驾车时间
  2. Mac Os 基本命令行
  3. 域名无法加入域解决方法
  4. vb如何测试连接mysql_怎么在vb程序中查找数据库信息并显示
  5. angular js $post,$get请求传值
  6. 发布CodeBuild.Net代码自动生成器 V2008 2.01(Vs2008)和架构实例源码Demo
  7. Bash脚本教程之行操作
  8. python多维数组运用_使用Python将文件读入多维数组
  9. 文件系统及软链接和硬链接
  10. python获取按钮点击后的数据_django表单中的按钮怎么获取数据
  11. u盘弹出工具_双佳数码 | 电脑u盘无法弹出怎么办?
  12. JS对cookie进行操作
  13. RDS还原数据库时报错:ERROR 1227 (42000) at line 78664
  14. linux目标文件链接命令,ld 命令:将目标文件链接为可执行程序 - dute.org
  15. unity3d 求两个点长度_Unity3D实现体积光
  16. 医疗器械信息系统分析
  17. premiere学习笔记01帧定格,时间码,透明视频,调整图层,转场及批量转场,插件安装,音频调整,关键帧,马赛克,蒙版,嵌套序列
  18. HFSS远场辐射设置与辐射方向图设置
  19. 2019年电赛之路——2015年电子设计竞赛A题任务设计
  20. C++程序设计课上机作业

热门文章

  1. 怎样在快手快速下载不含水印视频详细介绍 快手大批量下载高清无水印视频软件 说说如何快速下...
  2. 横图图片广告代码html,横向不间断的连续滚动图片/文字广告
  3. PHP广告横幅在线制作网站源码
  4. 记录Android开发中的问题及解决方法
  5. 什么样的运维工程师薪水较高, 你知道吗?
  6. 福建最新建筑八大员(机械员)模拟真题集及答案解析
  7. SunTorque今日分享|螺栓连接的拧紧与防松研究
  8. 表格学生表html,js编程练习:制作一个表格,显示班级的学生信息。
  9. c语言用矩形法求定积分的值,写一个用矩形法求定积分的通用函数,分别求:...
  10. 填补首飞遗憾!SpaceX 重型猎鹰火箭首次商业发射成功