场景

CentOS7中使用Dockerfile部署后台jar包:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119818808

在上面使用Dockfile部署带后台jar包的镜像时提示:

at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)

这里的jar包使用的是若依前后端分离版的后台jar包。

本地搭建流程可以参照

若依前后端分离版手把手教你本地搭建环境并运行项目:

https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/108465662

在调用他的验证码接口时提示如下错误。

05:07:30.869 [http-nio-7777-exec-2] INFO  o.a.c.c.C.[.[.[/] - [log,173] - Initializing Spring DispatcherServlet 'dispatcherServlet'
05:07:31.075 [http-nio-7777-exec-2] ERROR c.r.f.w.e.GlobalExceptionHandler - [handleException,83] - null
java.lang.NullPointerException: null
 at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)
 at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219)
 at sun.awt.FontConfiguration.init(FontConfiguration.java:107)
 at sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:774)
 at sun.font.SunFontManager$2.run(SunFontManager.java:431)
 at java.security.AccessController.doPrivileged(Native Method)
 at sun.font.SunFontManager.<init>(SunFontManager.java:376)
 at sun.awt.FcFontManager.<init>(FcFontManager.java:35)
 at sun.awt.X11FontManager.<init>(X11FontManager.java:57)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
 at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
 at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
 at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
 at java.lang.Class.newInstance(Class.java:442)
 at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:83)
 at java.security.AccessController.doPrivileged(Native Method)
 at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
 at java.awt.Font.getFont2D(Font.java:491)
 at java.awt.Font.access$000(Font.java:224)

注:

博客:
https://blog.csdn.net/badao_liumang_qizhi
关注公众号
霸道的程序猿
获取编程相关电子书、教程推送与免费下载。

实现

这是因为项目中需要使用图形验证码。

主要原因是字体问题,需要在Dockfile文件中添加下面一条

RUN apk add --update ttf-dejavu fontconfig

添加之后的文件内容为

FROM openjdk:8-jdk-alpine
MAINTAINER "badaodechengxvyuan"
LABEL description="公众号-霸道的程序猿"
WORKDIR app
ADD ruoyi-admin.jar /app/badao.jar
RUN apk add --update ttf-dejavu fontconfig
EXPOSE 7777
CMD java -jar /app/badao.jar

然后删除原来的容器和镜像,重新进行构建

等待构建成功之后再重新运行后即可。

网上也有说可以基础镜像不用openjdk,而改用oraclejdk的基础镜像

FROM classmethod/oraclejdk-alpine-git:latest

Docker中使用Dockerfile定制化jar启动时:at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)相关推荐

  1. 在Docker中使用Dockerfile实现ISO文件转化为完整版Centos镜像,并搭建集群数据仓库

    在Docker中使用Dockerfile实现ISO文件转化为完整版Centos镜像,并搭建集群数据仓库 在上一篇文章中,我们提到了如何使用Docker官方版本的centos7搭建容器集群并实现同一ip ...

  2. CentOS7中使用Dockerfile部署后台jar包

    场景 使用Dockerfile定制镜像来部署Tomcat项目: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/99105626 在 ...

  3. docker 中安装Jenkins-Jenkins持续化集成(GIT/maven/钉钉机器人)详细步骤

    Dokcker 中jenkins容器配置发布连接应用服务器 docker安装jenkins 如:192.168.86.129服务器中docker 部署jenkins >> 1. 拉取镜像 ...

  4. 3D制图软件中怎么进行定制化设计?

    定制化设计是产品高度匹配用户需求的一种设计方法,在产品的标准化设计与用户的个性化需求之间,寻找一种微妙的平衡.那么,如何借助浩辰3D制图软件来快速实现定制化设计?浩辰3D制图软件提供了完备的2D+3D ...

  5. oracle中pdbs是什么,Oracle 12c启动时PDBs的自动打开

    Pluggable Database(PDB)为Oracle 12c中的一个重要的新特性, 但启动12c实例时并不会自动打开PDB数据库,这样,在启动实例后必须手动打开PDBs. 1. 实例启动后,手 ...

  6. 在计算机启动过程中按F8,Win8如何在启动时按F8出现修复计算机选项

    Win8在启动时按F8出现修复计算机选项的方法如下: 在Win7以及更早的Windows系统中,开机按shift+F8可以进入"高级启动选项",Windows 7在默认安装情况下& ...

  7. docker nginx部署web应用_实战docker,编写Dockerfile定制tomcat镜像,实现web应用在线部署...

    最初在tomcat上部署web应用的方式,是通过maven的maven-compiler-plugin插件先打成war包,再将war包复制到tomcat的webapps目录下,后来用上了tomcat7 ...

  8. 你知道在 scrapy 中,可以定制化导出数据格式吗?scrapy 导出器学习

    本篇博客将系统的复习一下 scrapy 保存数据相关内容,即 导出器(Exporter)相关知识. 使用 Exporter 导出数据 编写 scrapy 爬虫是非常便捷的,而且可以快速的保存采集的结果 ...

  9. Spring Boot jar 启动时设置环境参数

    文章目录 1 摘要 2 核心代码 2.1 spring Boot 多环境配置 2.2 spring Boot 项目启动命令 3 Spring boot 简易启动与停止 shell 脚本 3.1 启动脚 ...

最新文章

  1. php 请求方式,PHP发起HTTP请求有哪几种方式?
  2. JavaWeb项目异常管理之log4j的使用教程
  3. 【图算法】Dijkstra算法及变形
  4. 从KDD 2018最佳论文看Airbnb实时搜索排序中的Embedding技巧
  5. maven依赖循环引用_shiro+spring boot+mybatis启动循环引用问题解决思路和方案
  6. 前端学习(1723):前端系列javascript之uniapp语法下
  7. java动态数组的实现的_基于Java的动态数组分析与实现
  8. 企业会计准则2020版pdf_2020年下半年CATTI三级笔译中译英真题+参考答案+原文件汉英对照PDF版...
  9. 2018蚂蚁金服NLP用户意图的精准识别,复赛f1 = 0.7327
  10. hdu 4128 Running relay (线性规划转半平面交)
  11. netbean的安装及jdk安装和环境变量设置
  12. 比较全的OA系统功能模块列表
  13. 项目管理体验营day3:项目管理之沟通技巧
  14. Python-png转换成jpg
  15. Android jetpack-DataStore
  16. [C#] DataView用法
  17. iOS 磁场传感器的应用 Swift CoreMotion使用
  18. WeChat 微信防撤回的方法 plus
  19. 最强悍的围棋人机对战程序 MoGo !
  20. Python:strip() 函数

热门文章

  1. canal应用四:canal-adapter的使用
  2. java中有hash集合_Java(1.8)集合类中的HashMap
  3. java中的“”、“|”、“^”、“~”运算符怎么用?
  4. Java的多线程和线程池的使用,你真的清楚了吗?
  5. Mybatis的增删改查操作(包含动态代理,动态SQL标签,缓存,#与$的使用传入多参数,获取自增id等基本操作)
  6. MySQL 内连接、左连接、右连接、外连接、多表查询
  7. python矩阵运算_Python矩阵常见运算操作实例总结
  8. python获取数组中大于某一阈值的那些索引值_使用Python+OpenCV进行实时车道检测...
  9. 利用matlab命令画出以下信号的波形,MATLAB实验报告
  10. linux 最快的,五种方式装Linux哪种最快