問題
- フォームでキャプチャを有効にすると、それが表示されず、ログに以下の例外が表示されます。
Caused by: java.lang.NullPointerException
at java.desktop/sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1262)
at java.desktop/sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:225)
at java.desktop/sun.awt.FontConfiguration.init(FontConfiguration.java:107)
at java.desktop/sun.awt.X11FontManager.createFontConfiguration(X11FontManager.java:719)
at java.desktop/sun.font.SunFontManager$2.run(SunFontManager.java:377)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/sun.font.SunFontManager.<init>(SunFontManager.java:322)
at java.desktop/sun.awt.FcFontManager.<init>(FcFontManager.java:35)
at java.desktop/sun.awt.X11FontManager.<init>(X11FontManager.java:56)
... 105 more
Exception in thread "http-nio-8080-exec-13" java.lang.InternalError: java.lang.reflect.InvocationTargetException
at java.desktop/sun.font.FontManagerFactory$1.run(FontManagerFactory.java:86)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.desktop/sun.font.FontManagerFactory.getInstance(FontManagerFactory.java:74)
at java.desktop/java.awt.Font.getFont2D(Font.java:497)
at java.desktop/java.awt.Font$FontAccessImpl.getFont2D(Font.java:237)
at java.desktop/sun.font.FontUtilities.getFont2D(FontUtilities.java:158)
at java.desktop/sun.font.StandardGlyphVector.initFontData(StandardGlyphVector.java:1132)
at java.desktop/sun.font.StandardGlyphVector.init(StandardGlyphVector.java:1121)
at java.desktop/sun.font.StandardGlyphVector.<init>(StandardGlyphVector.java:167)
at java.desktop/java.awt.Font.createGlyphVector(Font.java:2734)
at nl.captcha.text.renderer.DefaultWordRenderer.render(Unknown Source)
at nl.captcha.Captcha$Builder.addText(Unknown Source)
at com.liferay.captcha.simplecaptcha.SimpleCaptchaImpl.getSimpleCaptcha(SimpleCaptchaImpl.java:223)
at com.liferay.captcha.simplecaptcha.SimpleCaptchaImpl.serveImage(SimpleCaptchaImpl.java:132)
at com.liferay.captcha.util.CaptchaUtil.serveImage(CaptchaUtil.java:92)
at com.liferay.captcha.taglib.internal.struts.GetCaptchaImageStrutsAction.execute(GetCaptchaImageStrutsAction.java:39)
環境
- Liferay DXP 7.4 と JDK 11.0.15
解決
- JDK11にはfontconfigが付属していないため、手動でインストールする必要があります。 使用例:
apk add --no-cache fontconfig ttf-dejavu
yum install fontconfig
追加情報
会員限定記事
Liferay エンタープライズ サブスクリプションをお持ちのお客様は1500件を超えるベストプラクティス、トラブルシューティング、その他のソリューション記事を閲覧できます。ログインすると、記事全体をお読みいただけます。
ログイン