环境:使用docker打包的java项目,项目有新增使用图片验证码
访问图片验证码java报错:
java.lang.NullPointerException: null
at sun.awt.FontConfiguration.getVersion(FontConfiguration.java 1264)
翻看了相关资料,大致意思是Openjdk的问题,docker在打包时拉取的基础镜像问题。
在打包docker镜像机器先安装基础镜像:
vim Dockerfile
#参考添加以下内容
FROM openjdk:8-jdk-alpine
RUN apk add --update --no-cache ttf-dejavu fontconfig && rm -rf /var/cache/apk/*
构建基础镜像:
docker build .
docker build -t new/openjdk:8-jdk-alpine -f /root/Dockerfile .
构建完成后可通过docker images查看是否成功搭建。
dockerfile原为(截取部分):
FROM openjdk:8-jre-alpine
更改为:
FROM new/openjdk:8-jdk-alpine
之后docker重新打包即可。
end
本文解决了一个使用Docker打包的Java项目中出现的图片验证码错误问题。通过修改Dockerfile文件来安装ttf-dejavu和fontconfig,并更新基础镜像,最终解决了因OpenJDK配置不当导致的NullPointerException异常。
9777

被折叠的 条评论
为什么被折叠?



