问题场景
最近公司应用activiti工作流框架,开发审批流程业务.其中在显示流程图,追踪实时流程图这两个功能时遇到了问题.本地开发windows环境,一点问题没有,docker部署微服务时,服务器是centos7,遇到了流程图中的中文显示不出来.
遇到问题
废话不多说,试过很多办法.
情况: 改过项目中代码,把字体添加到项目中,利用Font.create();
Font.createFont(Font.TRUETYPE_FONT,new ClassPathResource("font/simsun.ttc").getInputStream());
依然本地运行良好,到了服务器上部署,服务启动不了.
贴出最终的解决方案,留给和我一样遇到坑的朋友,希望能帮到你们.
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
RUN apk add --update ttf-dejavu fontconfig
COPY ./simsun.ttc /usr/share/fonts/
RUN mkdir -p /cloud-flow-design
一直因为没加第二行的镜像命令,偶尔能部署成功,跟网速有关.一度怀疑自己的解决方法是不是有什么问题,差点放弃在Dockerfile里加入这几行命令.
后来公司的一位大佬遇到同样的问题,结果人家找到了个阿里镜像,彻底解决了问题.
涉及到公司业务,把前2个字擦了.
第一次写工作问题记录,上班时间,就不多写.欢迎五湖四海的朋友,一起讨论.