失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > Docker中使用Dockerfile定制化jar启动时:at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)

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

时间:2019-11-23 05:37:40

相关推荐

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

场景

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

/BADAO_LIUMANG_QIZHI/article/details/119818808

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

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

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

本地搭建流程可以参照

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

/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)

注:

博客:

/badao_liumang_qizhi

关注公众号

霸道的程序猿

获取编程相关电子书、教程推送与免费下载。

实现

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

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

RUN apk add --update ttf-dejavu fontconfig

添加之后的文件内容为

FROM openjdk:8-jdk-alpineMAINTAINER "badaodechengxvyuan"LABEL description="公众号-霸道的程序猿"WORKDIR appADD ruoyi-admin.jar /app/badao.jarRUN apk add --update ttf-dejavu fontconfigEXPOSE 7777CMD java -jar /app/badao.jar

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

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

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

FROM classmethod/oraclejdk-alpine-git:latest

如果觉得《Docker中使用Dockerfile定制化jar启动时:at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264)》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。