我正在为Java6.0开发一个应用程序,它使用WebSphere servlet.After部署和运行我的应用程序,我收到了以下类型的LinkageError (来自服务器日志):
错误500: java.lang.LinkageError: LinkageError定义类: student.operation.Action时无法定义,原因是:学生/操作/操作(不支持的major.minor版本50.0)这通常是因为在类加载器层次结构中的多个位置定义了一个类。其他潜在原因包括针对具有不兼容方法签名的类的较旧或较新版本进行编译。转储当前上下文类加载器层次结构: com.ibm.ws.classloader.CompoundClassLoader@666bc7e8表示定义类加载器本地ClassPath: E:\Program ClassPathE:\Program Files\IBM\SDP\runtimes\base_v6\profiles\WTE_APPSRV61\installedApps\gh-vdikcisv206Node1Cell\DefaultEAR.ear\Student.war\WEB-INF\lib\c3p0-0.9.0.4.jar;
发布于 2011-08-05 15:41:32
定义类时的
LinkageError :由于以下原因,无法定义student.operation.Action :学生/操作/操作(不支持的major.minor版本50.0)
类student.operation.Action是在Java6 (50.0对应于JDK1.6编译的类版本)下编译的,但是您在运行时使用的是较低版本的JVM/JRE。
确保您的运行时环境也是JDK 1.6
发布于 2011-08-05 17:56:00
添加到Nivas answer,请检查在部署期间是否也将相同的student.operation.action包含在任何其他jars中。
如果您希望在编译期间在JDK5中运行JDK6编译类,请传递-source选项。
https://stackoverflow.com/questions/6952680
复制相似问题