Java实现验证码服务及字体下载问题的解决

本文介绍如何使用Kaptcha库为服务添加验证码,并详细记录了在Docker环境下配置Kaptcha所需字体的过程,以及通过优化Dockerfile加速构建镜像的技巧。

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

因产品需要,为服务添加验证码,决定使用com.github.penggle的验证码生成服务。

一,添加依赖:

 <dependency>
    <groupId>com.github.penggle</groupId>
    <artifactId>kaptcha</artifactId>
    <version>2.3.2</version>
</dependency>

实现接口很简单,看git文档即可。

二,这时候需要打包镜像上传,发现需要添加ttf-dejavu
故在dockerfile中添加以下内容:

RUN apk add --no-cache tzdata bash  ttf-dejavu fontconfig \
	&& fc-cache --force \

现在镜像中已经存在字体了。

三,apk增加阿里的仓库源

不过,下载非常慢,可能会持续,好几天。
所以还需要为apk增加阿里的仓库源,如下

RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories

再次docker build 发现瞬间完成,问题解决。

该部分dockerfile 如下:

FROM registry.cn-hangzhou.aliyuncs.com/netbankzgg/java:8u191-jdk-alpine3.9-tini
RUN sed -i "s/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g" /etc/apk/repositories
RUN apk add --no-cache tzdata bash  ttf-dejavu fontconfig \
	&& fc-cache --force \
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值