简体   繁体   English

无法在高山Linux上使用openjdk 8初始化类sun.awt.X11FontManager

[英]Could not initialize class sun.awt.X11FontManager using openjdk 8 on alpine linux

I'm getting this stack trace when using openjdk 8 with this docker image: openjdk:8-jre-alpine 将openjdk 8与该docker映像一起使用时,我得到了这个堆栈跟踪信息:openjdk:8-jre-alpine

java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager

at java.lang.Class.forName0(Native Method) [rt.jar:1.8.0_131]
at java.lang.Class.forName(Class.java:348) [rt.jar:1.8.0_131]
at sun.font.FontManagerFactory$1.run(FontManagerFactory.java:82) [rt.jar:1.8.0_131]
at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.8.0_131]
at sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74) [rt.jar:1.8.0_131]
at java.awt.Font.getFont2D(Font.java:491) [rt.jar:1.8.0_131]
at java.awt.Font.getFontName(Font.java:1279) [rt.jar:1.8.0_131]
at java.awt.Font.getFontName(Font.java:1261) [rt.jar:1.8.0_131]

It works fine using the Oracle version 使用Oracle版本可以正常工作

Following some directions to install the dejavu fonts from here: https://hub.docker.com/r/neduekwunife/openjdk8-jre-alpine-with-fontconfig/ 请按照以下说明从此处安装dejavu字体: https ://hub.docker.com/r/neduekwunife/openjdk8-jre-alpine-with-fontconfig/
I added the following line to my Dockerfile: 我在Dockerfile中添加了以下行:

RUN apk add --update ttf-dejavu && rm -rf /var/cache/apk/*

which now gives me the following error: 现在给我以下错误:

java.lang.UnsatisfiedLinkError: /usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/libfontmanager.so: Error relocating /usr/lib/jvm/java-1.8-openjdk/jre/lib/amd64/libfontmanager.so: AWTFontDefaultChar: symbol not found

I was able to get this to work by reverting to an older version of openjdk container. 我可以通过恢复到旧版本的openjdk容器来使其工作。 Here is the FROM statement in my Dockerfile: 这是我的Dockerfile中的FROM语句:

FROM openjdk:8u121-jre-alpine

which replaced this: 取代了这个:

FROM openjdk:8-jre-alpine

which is currently equivalent to update 131. 当前相当于更新131。

There is a bug for this documented here: https://bugs.alpinelinux.org/issues/7372 此处记录了此错误: https : //bugs.alpinelinux.org/issues/7372

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 无法初始化类 sun.awt.X11FontManager alpine java 17 - Could not initialize class sun.awt.X11FontManager alpine java 17 NoClassDefFoundError:无法初始化类 sun.awt.X11FontManager - NoClassDefFoundError: Could not initialize class sun.awt.X11FontManager sun.awt.X11FontManager: java.lang.reflect.InvocationTargetException (Arch Linux) - sun.awt.X11FontManager: java.lang.reflect.InvocationTargetException (Arch Linux) 无法在 Solaris 上初始化类 sun.awt.X11GraphicsEnvironment - Could not initialize class sun.awt.X11GraphicsEnvironment on Solaris NoClassDefFoundError:无法初始化类sun.awt.X11GraphicsEnvironment - NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment 无法运行IntelliJ-NoClassDefFoundError:无法初始化类sun.awt.X11GraphicsEnvironment - Cannot run IntelliJ - NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment MuleESB-无法初始化类sun.awt.SunToolkit - MuleESB - Could not initialize class sun.awt.SunToolkit java.lang.NoClassDefFoundError:无法使用 OpenJDK 11.0 初始化 class sun.font.SunFontManager - java.lang.NoClassDefFoundError: Could not initialize class sun.font.SunFontManager with OpenJDK 11.0 Tomcat8.5和Openjdk11 NoClassDefFoundError:无法初始化类org.apache.cxf.attachment.AttachmentUtil - Tomcat8.5 and Openjdk11 NoClassDefFoundError: Could not initialize class org.apache.cxf.attachment.AttachmentUtil java.lang.NoClassDefFoundError:sun / awt / X11GraphicsEnvironment在Linux上运行基于applet的app时面临的问题 - java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment issuses faced while running our applet based app on linux
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM