Linux-tomca部署项目验证码无法显示:Found class com.sun.image.codec.jpeg.JPEGImageEncoder, but interface was expe
2023-09-11 14:17:06 时间
我们的项目一般是在windows下开发的,然后把项目部署到一台Linux上进行测试,今天小编就遇到一个困惑问题,为啥项目部署完验证码无法显示,查看tomcat日志,报错如下:
java.lang.IncompatibleClassChangeError: Found class com.sun.image.codec.jpeg.JPEGImageEncoder, but interface was expected
上网搜了一下,有的说JDK版本问题,导致无法加载JPEGImageEncoder;也有说JRE环境变量出错的。
》排查如下:
1、检查JDK版本是否有问题。
我用java -version查看了一下,发现是SUN的JDK,不是openJDK;那会不会是环境变量的问题呢?cat /etc/profile看了一下,发现。。环境变量没设错啊!!!
2、检查JRE设置问题。
我查看了一下tomcat的启动信息,果然发现了不对的地方:
using JRE : /usr
我的JRE目录不在/usr目录下啊~~~看来应该是tomcat访问的jre路径不对,导致了不能支持com.sun包下的类。
》解决办法:
有高人说startup.sh执行会去加载catalina.sh,而catalina.sh又会去加载setclasspath.sh,所以在setclasspath.sh的文件顶部,配置一下JAVA_HOME和JRE_HOME就OK了,即:
export JAVA_HOME=/usr/java/jdk6
export JRE_HOME=/usr/java/jdk6/jre
保存后运行,再看原先的验证码问题,已经正常解决,跟我有一样困扰的博友们快去试试吧!
有帮助,点个赞。要细品,可收藏。要继续,请关注。如成功,请分享。有疑问,请留评。
相关文章
- linux 命令:ping、fping、gping、hping3、tracert、traceroute
- linux_java_同时启动三个项目脚本
- linux 切换root账号_LINUX 创建用户及切换用户
- Linux中du和df
- linux -- 基于mysql tomcat 部署web项目
- Linux之绝对路径和相对路径
- 在 Linux 系统下使用 PhotoRec & TestDisk 工具来恢复文件
- 从0开始,让你的Spring Boot项目跑在Linux服务器
- linux下的初始化系统systemd简科普
- lilybbs-faq - linux入门以及百合 Linux 版精华区导读
- linux下pip安装pygame
- Linux常用基本命令[cp]
- linux ------ 使用 screen 后 SSH 断开后程序依旧能在后台运行
- Linux | 项目自动化构建工具 - make/Makefile
- 如何在linux系统上部署SpringBoot项目
- 【正点原子Linux连载】第二十五章 语音识别项目 摘自【正点原子】I.MX6U嵌入式Qt开发指南V1.0.2
- Linux 之 arm linux 板子与 ubuntu 使用 nfs 进行 mount 挂载进行文件传输的简单整理
- Linux学习笔记(25)linux批量管理
- LINUX安装JDK1.8
- 【Linux】linux下用python获取底层硬件信息接口
- Linux部署SpringBoot项目
- HPE的OpenSwitch项目得到Linux基金会支持