记录云服务器docker发布springboot发布的war后,页面可以正常显示,但验证码无法显示的解决方法-更换openjdk版本

上午完成了信息系统项目管理的文档管理系统,部署到云服务器的docker中,登陆页面可以出来,但验证码无法显示,直接使用云服务器ip:端口/sys/getverify,返回的json为系统繁忙。
查阅了一些资料,说缺少dejavu包,需要拷贝中文字体给对应的docker容器。
试着解决,安装dejavu,提示找不到,使用apt search dejavu搜索一下,找到存在的对应的资源,然后安装。
apt-get install fonts-dejavu
安装成功后,进入/usr/share/fonts/,查看已经可有dejavu文件夹。
重启docker容器,访问验证码的url,还是提示系统繁忙。
还有说需要中文字体,拷贝到/usr/share/fonts/中,依然无法解决。
仔细查阅代码,发现引用的第三方的验证码的jar包是jdk8开发的,在本机没有问题,放到虚拟机麒麟v10中也没有问题,查看虚拟机v10的jdk环境是openjdk-1.8,进入云服务器的docker容器中查看java版本,java -version,显示是openjdk-17.0.5。
查询 find / -name java ,搜索到了/opt/java/,然后查看tomcat启动日志,找的java路径是/opt/java/openjdk/bin/
果断搜索openjdk-8,apt search openjdk-8,安装安装apt-get install openjdk-8-jdk,安装成功后再次搜索java,find / -name java ,看到openjdk-8安装到了 /usr/lib/jvm/openjdk–amd64/中,
查看java版本还是17.0.5,直接删除了
rm -rf /opt/java/openjdk
,然后新建文件夹mkdir /opt/java,继续新建mkdir /opt/java/openjdk
然后把openjdk-8中的文件拷贝到新建的文件夹中
cp -r /usr/lib/jvm/openjdk-8-amd64/* /opt/java/openjdk/
查看java版本,变成了openjdk1.8,好像docker容器一下就down掉了了,在云服务主机上启动对应的容器,docker start docker名字或id,启动成功后,访问验证码url正常显示。
注:刚才替换java,是不是直接拷贝覆盖也行,没有做尝试,这次解决费周折,记录一下?

  • 4
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cngm110

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值