docker打包java.lang.NullPointerException: null 原因和处理方案

本文解决了一个使用Docker打包的Java项目中出现的图片验证码错误问题。通过修改Dockerfile文件来安装ttf-dejavu和fontconfig,并更新基础镜像,最终解决了因OpenJDK配置不当导致的NullPointerException异常。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

环境:使用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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值