相关文章推荐
乐观的松球  ·  javascript - Using ...·  7 月前    · 
乐观的松球  ·  Katalon Help Center·  8 月前    · 
乐观的松球  ·  .Net ...·  8 月前    · 
乐观的松球  ·  jQuery html()方法有什么用·  9 月前    · 
乐观的松球  ·  vue i18n 占位符·  9 月前    · 
沉着的沙滩裤  ·  【feign】SpringCloud ...·  2 小时前    · 
眼睛小的生姜  ·  Feign的ErrorDecoder.Def ...·  2 小时前    · 
仗义的竹笋  ·  Spring Cloud Feign ...·  2 小时前    · 
爱跑步的回锅肉  ·  Android app ADB命令 - ...·  2 小时前    · 
被表白的书签  ·  adb 连接提示Connection ...·  2 小时前    · 

在Linux里面直接使用命令没有问题,但是在docker里面就报异常:

java.io.IOException: Problem reading font data.
	at java.awt.Font.createFont0(Font.java:1000)
	at java.awt.Font.createFont(Font.java:877)
	at Fonts.main(Fonts.java:12)
Exception in thread "main" java.lang.NullPointerException
	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 sun.java2d.SunGraphicsEnvironment.getFontManagerForSGE(SunGraphicsEnvironment.java:201)
	at sun.java2d.SunGraphicsEnvironment.getAvailableFontFamilyNames(SunGraphicsEnvironment.java:235)
	at sun.java2d.SunGraphicsEnvironment.getAvailableFontFamilyNames(SunGraphicsEnvironment.java:263)
	at sun.java2d.HeadlessGraphicsEnvironment.getAvailableFontFamilyNames(HeadlessGraphicsEnvironment.java:94)
	at Fonts.main(Fonts.java:17)

但是字体缺失有,进入docker里面执行:

docker run --name test --volume=/home/tmp/:/home/tmp/ -it openjdk:8-alpine sh

还是上面错误,最后发现原来这个JDK的BUG。

在docker执行apk add ttf-freefont也能解决。

 
推荐文章