生成验证码图片报错
Closed this issue · 1 comments
我在 Rocky Linux 9.3 (Blue Onyx) (aarch64)用 Jdk21 部署成功后, 生成验证码图片接口报错
Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Handler dispatch failed: java.lang.NoClassDefFoundError: Could not initialize class sun.font.SunFontManager] with root cause
java.lang.ExceptionInInitializerError: Exception java.lang.UnsatisfiedLinkError: /application/jdk-21.0.3/lib/libfontmanager.so: libfreetype.so.6: cannot open shared object file: No such file or directory [in thread "http-nio-28083-exec-9"]
GPT 说是 libfontmanager.so 依赖的 libfreetype.so.6 本地库文件找不到, 安装了 freetype 库也不行, 不晓得什么情况
看了下源码, 生成和校验都是交给 cn.hutool.captcha.CaptchaUtil 做的, 没有打印出验证码, 所以现在后台没办法登录
通过安装 freetype 库和 Hutool 使用的 SansSerif 字体, 然后重启应用, 不再报错
yum install freetype -y
yum install dejavu-sans-fonts -y
yum install fontconfig -y
fc-cache -f -v