遭遇UnsupportedClassVersionError

xiaoxiao2023-02-02  30

环境JDK 5.0,Tomcat 5.5.26,Eclipse 3.2 。

现象描述:开发过程中未遇到任何问题,部署后绝大多数功能运行正常,只有一个功能在运行到关键语句时总是报java.lang.UnsupportedClassVersionError错误,而且工程的编译环境和运行环境相一致,如果不一致的话别的模块肯定也有类版本的问题。

最后终于搞清楚了,这个模块使用了Apache的Pivot技术,模块中某个类直接实现了org.apache.pivot.wtk.Application接口,而Pivot在其发行版的README文件中描述依赖关系时很明确的写着Pivot requires Java 6 or greater.这就解释了上面所遇到的问题,虽然我们自己的类是在5.0的环境下编译的,但是它所依赖的类是在6.0的环境下编译的,因此类加载器在加载它时不可避免的要加载它所依赖的类,低版本的JRE加载高版本编译器编译的类当然会出现不支持的类版本错误了。

解决方案:把Tomcat的运行环境设置为JDK6.0就可以了。

相关资源:Java 面经手册·小傅哥(公众号:bugstack虫洞栈).pdf
转载请注明原文地址: https://www.6miu.com/read-4981081.html

最新回复(0)